WordPress相关日志
2019-03-22 04:15:33来源: 崔凯的博客 阅读 ()
昨晚手欠,点了一下“升级Wordpress”,于是就开始了各种忙乱。
首先是在升级前没有停用正在使用的插件,老旧插件导致Wordpress的前台、后台全部白屏。
解决办法:ftp登陆上去,将插件文件夹 plugins 重命名。
其次就是各插件恢复使用后,Simple Tags 插件的作者没有提供更新,现有版本 2.0-beta9 不支持 WordPress3.2 ,导致“相关日志”无法正常工作。
言归正传,说一下如何直接用代码实现“相关日志”的功能。
打开当前所用的模版文件夹
找到functions.php
添加如下代码:
//WordPress Related Posts $wp_rp=array( 'limit'=>9, //相关文章数量 'wp_rp_rss'=>true, //是否在feed 中显示相关文章 'wp_no_rp'=>'random', //无相关文章时的选择:text 或random(random-随机文章) 'wp_rp_date'=>false, //显示文章发布日期 'wp_rp_comments'=>false, //显示文章评论数 'wp_rp_title_tag'=>'h3', //选择相关文章标题标签(h2 ,h3 ,h4 ,p ,div) ); function wp_get_random_posts ($limitclause="") { global $wpdb, $post; $q = "SELECT ID, post_title, post_content,post_excerpt, post_date, comment_count FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post' AND ID != $post->ID ORDER BY RAND() $limitclause"; return $wpdb->get_results($q); } function wp_get_related_posts() { global $wpdb, $post,$wp_rp; $limit =$wp_rp["limit"]; $wp_rp_title='相关日志:'; //相关文章标题 if(!$post->ID){return;} $now = current_time('mysql', 1); $tags = wp_get_post_tags($post->ID); $taglist = "'" . $tags[0]->term_id. "'"; $tagcount = count($tags); if ($tagcount > 1) { for ($i = 1; $i < $tagcount; $i++) { $taglist = $taglist . ", '" . $tags[$i]->term_id . "'"; } } if ($limit) { $limitclause = "LIMIT $limit"; } else { $limitclause = "LIMIT 10"; } $q = "SELECT p.ID, p.post_title, p.post_content,p.post_excerpt, p.post_date, p.comment_count, count(t_r.object_id) as cnt FROM $wpdb->term_taxonomy t_t, $wpdb->term_relationships t_r, $wpdb->posts p WHERE t_t.taxonomy ='post_tag' AND t_t.term_taxonomy_id = t_r.term_taxonomy_id AND t_r.object_id = p.ID AND (t_t.term_id IN ($taglist)) AND p.ID != $post->ID AND p.post_status = 'publish' AND p.post_date_gmt < '$now' GROUP BY t_r.object_id ORDER BY cnt DESC, p.post_date_gmt DESC $limitclause;"; $related_posts = $wpdb->get_results($q); $output = ""; //不存在相关日志则显示随机日志 if (!$related_posts) { if($wp_rp['wp_no_rp'] == "text") { $output .= '<li>无相关日志</li>'; } else { if($wp_rp['wp_no_rp'] == "random") { $wp_no_rp_text= '随机文章:'; $related_posts = wp_get_random_posts($limitclause); } $wp_rp_title = $wp_no_rp_text; } } foreach ($related_posts as $related_post ) { $output .= '<li>'; if($wp_rp['wp_rp_date']) { $dateformat = get_option('date_format'); $output .= mysql2date($dateformat, $related_post->post_date) . " — "; //日期和文章标题间隔符,默认是 — } $output .= '<a href="'.get_permalink($related_post->ID).'" title="'.wptexturize($related_post->post_title).'">'.wptexturize($related_post->post_title).'</a>'; if ($wp_rp["wp_rp_comments"]) { $output .= " (" . $related_post->comment_count . ")"; } $output .= '</li>'; } $output = '<ul class="st-related-posts">' . $output . '</ul>'; $wp_rp_title_tag = $wp_rp["wp_rp_title_tag"]; if(!$wp_rp_title_tag) $wp_rp_title_tag ='h3'; if($wp_rp_title != '') $output = '<'.$wp_rp_title_tag.' >'.$wp_rp_title .'</'.$wp_rp_title_tag.'>'. $output; return $output; } function wp_related_posts_attach($content) { global $wp_rp; if (is_single()||(is_feed() && $wp_rp["wp_rp_rss"])) { $output = wp_get_related_posts(); $content = $content.$output; } return $content; } add_filter('the_content', 'wp_related_posts_attach',100); |
文章来源:崔凯的博客 转载请注明出处链接。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:人才网遭多方围剿出路何在?
下一篇:亲情营销为网站打造百万流量
- 昨天微信公开课上,这27个要点和你紧密相关 2019-07-15
- 如何选择和使用wordpress主题制作特色网站 2019-04-10
- WordPress网站搭建如何购买域名及域名绑定 2019-04-10
- 两款插件快速实现,wordpress全站开启https 2019-04-10
- 文案为什么要视觉化? 2019-04-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash