也想出現在這里?聯系我們

wordpress相關文章的優化機智和自定義設置

  • 文章介紹
  • 升級版本
  • 評價&建議

之前大叔介紹過 wordpress相關文章實現的方法,例:《代碼實現WordPress相關文章》,那么今天說的這個教程,是從優化角度來更合理的實現wordpress相關文章的,至于客觀喜歡哪個,自己決定吧!

策略:文章內容相關程度: 手動指定 > 標簽 >分類 > 隨機

relatedposts

實現方式:下面代碼直接加到functions.php中即可

  1. function?add_related_posts($content){
  2. ????return?$content?.?wp_related_posts();
  3. }
  4. add_filter?('the_content',?'add_related_posts');?//hook
  5. function?wp_related_posts(){
  6. ????global?$post;
  7. ????$num?=?5;//文章數量
  8. ????$counter?=?1;
  9. ????$exclude_id?=?get_post_meta($post->ID,'related',true);//獲取手動置頂的相關文章
  10. ????if?($exclude_id){
  11. ????????$args?=?array(
  12. ????????????'post_status'?=>?'publish',
  13. ????????????'post_type'?=>?array('post'),
  14. ????????????'post__in'?=>?explode(',',?$exclude_id),
  15. ????????????'posts_per_page'?=>?$num
  16. ????????);
  17. ????????$posts?=?get_posts($args);
  18. ????????foreach($posts?as?$sb){
  19. ????????????$output?.=?'<li><a?href="'?.?get_permalink($sb->ID)?.?'">'?.?$sb->post_title?.?'</a></li>';//可自定義樣式
  20. ????????????$i++;
  21. ????????}
  22. ????}
  23. ????if(?$i?<?$num){//自定義文章數不足后通過分類和標簽處理
  24. ????????$tagsid?=?array();
  25. ????????$catid?=?array();
  26. ????????$thisid[]?=?$post->ID;
  27. ????????$posttags?=?get_the_tags();
  28. ????????$catids?=?get_the_category();
  29. ????????if(!emptyempty($posttags))?{
  30. ????????????foreach($posttags?as?$tag)?{
  31. ????????????????$tagsid[]?=?$tag->term_id;
  32. ????????????}
  33. ????????}
  34. ????????if(!emptyempty($catids))?{
  35. ????????????foreach($catids?as?$cat)?{
  36. ????????????????$catid[]?=?$cat->term_id;
  37. ????????????}
  38. ????????}
  39. ????????$args?=?array(
  40. ????????????'post_type'?=>?'post',
  41. ????????????'post__not_in'?=>?$thisid,
  42. ????????????'ignore_sticky_posts'?=>?1,
  43. ????????????'posts_per_page'?=>?($num?-?$i),
  44. ????????????'tax_query'?=>?array(
  45. ????????????????'relation'?=>?'OR',//改成AND則必須是同標簽同分類下
  46. ????????????????array(
  47. ????????????????????'taxonomy'?=>?'post_tag',
  48. ????????????????????'field'????=>?'term_id',
  49. ????????????????????'terms'????=>?$tagsid,
  50. ????????????????),
  51. ????????????????array(
  52. ????????????????????'taxonomy'?=>?'category',
  53. ????????????????????'field'????=>?'term_id',
  54. ????????????????????'terms'????=>?$catid,
  55. ????????????????),
  56. ????????????),
  57. ????????);
  58. ????????$rsp?=?get_posts($args?);
  59. ????????foreach($rsp?as?$sb){
  60. ????????????$output?.=?'<li><a?href="'?.?get_permalink($sb->ID)?.?'">'?.?$sb->post_title?.?'</a></li>';//可自定義樣式
  61. ????????????$i++;
  62. ????????}
  63. ????}
  64. ????$final?=?'<h3>相關文章</h3><ul>'?.?$output?.?'</ul>';
  65. ????return?$final;
  66. }

調用方法
如需加入自定義相關文章,只需新建自定義欄目,加入文章id即可,多篇文章用,隔開

add_related_id

如想自定位置,并調整樣式,則去掉the_content的鉤子,然后手動調用wp_related_posts函數

騷年,創作吧。。。。

有用5
  • 2015.05.30初次和大家見面了!

已擁有2人對該主題的建議

  1. 0樓
    亮點吧:

    可以可以,很實用的,,

    2015-07-13 上午 10:15 [回復]
  2. 騷年,創作吧

    2015-06-15 上午 10:29 [回復]

發表評論

還能輸入240個字

Hi, 歡迎加入Wordpress技術交流群,帶你裝逼帶你飛!

我要入群
也想出現在這里?聯系我們
wordpress加速

我來推薦一個更牛逼的給你看看?

  • 猛戳我吧
夫妇野外交换HD高清版,免费A片在线观看,亚洲精品国产自在现线,中国老妇人60OLDMANTV