最近麦子在改造WordPress的官方默认主题,实际上官方默认主题还是很轻便的,但是有些功能不够完美,只能通过代码修改。比如文章没有相关文章调用,这里可以用插件,但是我还是喜欢代码改进反正是自己用的。这里可以用PHP代码调用WordPress相关文章。
//PHP调用相关文章 https://www.zhujipingjia.com/wp-relatedposts.html <div class="related_posts"> <h3>您可能也喜欢这几篇文章:</h3> <ul> <?php $post_num = 10; $exclude_id = $post->ID; $posttags = get_the_tags(); $i = 0; if ( $posttags ) { $tags = ''; foreach ( $posttags as $tag ) $tags .= $tag->term_id . ','; $args = array( 'post_status' => 'publish', 'tag__in' => explode(',', $tags), 'post__not_in' => explode(',', $exclude_id), 'caller_get_posts' => 1, 'orderby' => 'comment_date', 'posts_per_page' => $post_num, ); query_posts($args); while( have_posts() ) { the_post(); ?> <li><a rel="bookmark" href="<?php%20the_permalink();%20?>" title="<?php the_title(); ?>" target="_blank"><?php the_title(); ?></a></li> <?php $exclude_id .= ',' . $post->ID; $i ++; } wp_reset_query(); } if ( $i < $post_num ) { $cats = ''; foreach ( get_the_category() as $cat ) $cats .= $cat->cat_ID . ','; $args = array( 'category__in' => explode(',', $cats), 'post__not_in' => explode(',', $exclude_id), 'caller_get_posts' => 1, 'orderby' => 'comment_date', 'posts_per_page' => $post_num - $i ); query_posts($args); while( have_posts() ) { the_post(); ?> <li><a rel="bookmark" href="<?php%20the_permalink();%20?>" title="<?php the_title(); ?>" target="_blank"><?php the_title(); ?></a></li> <?php $i++; } wp_reset_query(); } if ( $i == 0 ) echo '<li>没有相关文章!</li>'; ?> </ul> </div>
代码加入到我们需要的 single.php 对应位置,部分代码自己修改,比如调用的条数默认是10条。
.related_posts { margin-top: 5px; padding-bottom: 10px; border-bottom: 1px solid #ededed; } .related_posts h3 { margin-bottom: 5px; } .related_posts li { margin-left: 20px; color: #ccc; list-style: square; font-size: 14px; line-height: 26px; padding: 0 0 0 5px }
同时手工调整CSS样式。
评论