wordpress侧边栏_搜索框_最新文章_随机文章_相关文章_标签制作教程

侧边栏是我们在网站中经常看到的一部分,一般主要会包含搜索框、最新文章、随机文章、相关文章、推荐文章、标签等。它不仅可以提升用户体验度,让用户快速的找到自己想要的信息,不浪费用户的时间,还可以增加页面间的链接数量提高页面链接权重,所有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