侧边栏是我们在网站中经常看到的一部分,一般主要会包含搜索框、最新文章、随机文章、相关文章、推荐文章、标签等。它不仅可以提升用户体验度,让用户快速的找到自己想要的信息,不浪费用户的时间,还可以增加页面间的链接数量提高页面链接权重,所有wordpress侧边栏制作也是不可轻视的。
1、wordpress侧边栏之搜索框制作
wordpress自定义全站搜索框 <form class="search-form" method="get" action="<?php bloginfo('home'); ?>"> <input type="text" placeholder="搜索..." name="s" /> <button type="submit"> <i class="iconfont icon-search"></i> </button> </form> wordpress自定义搜索指定栏目分类 (value="" 为指定分类的id) <form class="search-form" method="get" action="<?php bloginfo('home'); ?>"> <input type="text" placeholder="搜索..." name="s" /> <input type="hidden" name="cat" value="4,11,9,22,20,10,18,14,12,13,1" /> <button type="submit"> <i class="iconfont icon-search"></i> </button> </form> wordpress自定义不搜索该分类下的文章 (value="" 为指定分类的id) <form class="search-form" method="get" action="<?php bloginfo('home'); ?>"> <input type="text" placeholder="搜索..." name="s" /> <input type="hidden" name="cat" value="-4,-11,-9,-22" /> <button type="submit"> <i class="iconfont icon-search"></i> </button> </form>
2、wordpress侧边栏之最新文章调用
方法一:
<?php get_archives(‘postbypost’, 10); ?> (显示10篇最新更新文章)
方法二:query_posts() 函数
//showposts=6 显示6篇文章 cat=-3 不调用分类id为3的文章 <li> <h2>最新文章</h2> <?php query_posts('showposts=6&cat=-3'); ?> <ul> <?php while (have_posts()) : the_post(); ?> <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li> <?php endwhile;?> </ul> </li>
方法三:WP_Query函数
//showposts=10 显示个数 <ul> <?php $post_query = new WP_Query(‘showposts=10’); while ($post_query->have_posts()) : $post_query->the_post(); $do_not_duplicate = $post->ID; ?> <li><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a></li> <?php endwhile;?> </ul>方法四:排除置顶的文章
<h2>最新文章</h2> <ul> <?php $recentPosts = new WP_Query(array('post__not_in' => get_option('sticky_posts'))); ?> <?php while ($recentPosts->have_posts()) : $recentPosts->the_post(); ?> <li> <a href="<?php the_permalink() ?>" rel="bookmark" class="title"><? echo get_the_title(); ?></a><?php the_time('m/d'); ?></li> <?php endwhile; wp_reset_query();?> </ul>3、wordpress侧边栏之随机文章调用
//numberposts=10 为调用的文章数量 <?php $rand_posts = get_posts('numberposts=10&orderby=rand'); foreach($rand_posts as $post): ?> <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </li> <?php endforeach;?>4、wordpress文章页侧边栏,相关文章调用
//WordPress相关文章 <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 the_permalink(); ?>" 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 the_permalink(); ?>" title="<?php the_title(); ?>" target="_blank"><?php the_title(); ?></a></li> <?php $i++; } wp_reset_query(); } if ( $i == 0 ) echo '<li>没有相关文章!</li>'; ?> </ul> </div>5、wordpress文章页侧边栏,所在分类下的文章列表
//numberposts=5 调用的文章数量 <?php if ( is_single() ) : global $post; $categories = get_the_category(); foreach ($categories as $category) : ?> <li class="widget widget_recent_entries" id="<?php $category -> term_id; ?>-posts"> <h2 class="widgettitle"><?php echo $category -> name; ?></h2> //当前文章所在栏目 <ul>//下方为循环输出 所在栏目分类下的文章列表 <?php $posts = get_posts('numberposts=5&category='. $category->term_id); //5为循环条数 foreach($posts as $post) : ?> <li> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </li> <?php endforeach; ?> </ul> </li> <?php endforeach; endif ; ?>6、调用指定分类子分类的文章
<?php $posts = get_posts( "category=4&numberposts=10" ); ?> <?php if( $posts ) : ?> <ul><?php foreach( $posts as $post ) : setup_postdata( $post ); ?> <li> <a href="<?php the_permalink() ?>"><?php the_title(); ?></a> </li> <?php endforeach; ?> </ul> <?php endif; ?>7、tag标签调用
wordpress tag标签调用,默认方式 <?php wp_tag_cloud(); ?> 带参数方式调用 <?php wp_tag_cloud(‘number=50&orderby=count&order=DESC&smallest=12&largest=12&unit=px’); ?> smallest:标签文字最小字号,默认为8pt; largest:标签文字最大字号,默认为22pt; unit:标签文字字号的单位,默认为pt,可以为px、em、pt、百分比等; number:调用的标签数量,默认为45个,设置为“0”则调用所有标签; format:调用标签的格式,可选“flat”、“list”和“array”,默认为“flat”平铺,“list”为列表方式; orderby:调用标签的排序,默认为“name”按名称排序,“count”则按关联的文章数量排列; order:排序方式,默认为“ASC”按正序,“DESC”按倒序,“RAND”按任意顺序。 exclude:排除部分标签,输入标签ID,并以逗号分隔,如“exclude=1,3,5,7”不显示ID为1、3、5、7的标签; include:包含标签,与exclude用法一样,作用相反,如“include=2,4,6,8”则只显示ID为2、4、6、8的标签。原文链接:https://blog.csdn.net/qq_39339179/article/details/119147105