wordpress显示指定分类搜索结果。亲测可用
add_filter('pre_get_posts','fanly_search_filter_cat');function fanly_search_filter_cat($query) {
if ($query->is_search && !$query->is_admin) {
$query->set('cat', array(1,2,3,4,5,6,7,8,9));//1 2 3 4.。。。。为指定分类 ID /显示指定分类,
}
return $query;
}
亲测可用
感谢myes 本帖最后由 myes 于 2021-7-7 20:11 编辑
:lol:我没提供过这个源码,谢我啥,不过我希望越来越多人来用WordPress,真的很不错,要实现什么功能,直接搜索,大部分都有解决方法,可能需要自己修改一下。
最近做了几个wp的网站,一定要使用centos,可以装memcached,如果有小程序,再用memcached+WP REST Cache加速实在是相当给力
现在可以生成一个www的纯静态主域网站,不怕攻击,再用个复杂的二级域名作为小程序json调用,省心很多哈。
分享几个我一直在用的常用代码
1、调用指定分类的list(模版文件可直接使用):
//调用指定分类2710条
<?php
$args = array(
'post_type' => 'post', //自定义文章类型名称
'showposts' => 10, //输出的文章数量,这个可以是缺省值,不用设置
'orderby' => 'modified', //按更新时间排序
'tax_query' => array(
array(
'taxonomy' => 'circle',//自定义分类法名称
'terms' => 27 //id为64的分类。也可是多个分类array(12,64)
),
)
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
while ($my_query->have_posts()) : $my_query->the_post();?>
<li>
<a href="<?php the_permalink() ?>" target="_blank"><?php the_title(); ?></a>
</li>
<?php endwhile; wp_reset_query(); //重置query查询
} ?>
2、让搜索结果支持自定义内容模型:
//让搜索支持自定义文章类型
function searchAll( $query ) {
if ( $query->is_search ) { $query->set( 'post_type', array( 'post','forums', 'product' )); }
return $query;
}
add_filter( 'the_search_query', 'searchAll' );
3、调用指定搜索关键字(如沙县小吃)文章list:
<?php
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$args = array(
's'=>'沙县小吃',
'showposts' => 10,
'paged' => $paged
);
query_posts( $args );
if ( have_posts() ) : while ( have_posts() ) : the_post();
?>
<p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
<?php
endwhile;
wp_reset_postdata();
endif;
?>
技术贴 Mark了 有没有WordPress用户,提供些好用的代码吧
之前我提供的:WordPress屏蔽搜索非法关键词 https://www.im286.net/thread-24267724-1.html
WordPress迁移至腾讯云serverless踩坑日记 https://www.im286.net/thread-24269171-1.html 感谢你的wp代码分享呀,对于爱分享的落伍mjj我一向乐于鼓励,哈哈
楼主的代码放在哪里用?小白一个
我现在用php的opcache+memcahced+wp super cache 落英缤纷 发表于 2021-8-6 22:03
楼主的代码放在哪里用?小白一个
我现在用php的opcache+memcahced+wp super cache
每个模板都有fuctions.php 放里面就行了 eltonto 发表于 2021-8-7 09:59
每个模板都有fuctions.php 放里面就行了
谢谢 收藏一波。 分享近期用的很顺手的WordPress代码
指定关键词调用list
<?php the_content(); ?>
<?php
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$args = array(
's'=>'福建',
'showposts' => 10,
'paged' => $paged
);
query_posts( $args );
if ( have_posts() ) : while ( have_posts() ) : the_post();
?>
<p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
<?php
endwhile;
wp_reset_postdata();
endif;
?>
指定tag id 调用list
<?php
$args=array(
'tag_id' => 16,//指定id
'posts_per_page' => 5,//每页显示多少
'orderby' => 'rand', //按随机排序
);
query_posts($args);
if(have_posts()) : while (have_posts()) : the_post(); ?>
<li style="font-weight: bold;">
<a href="<?php the_permalink() ?>" target="_blank"><?php the_title(); ?></a>
<span class="time"><?php the_time('Y年n月j日'); ?></span>
</li>
<?php endwhile; endif; wp_reset_query();?>
指定频道cat=7随机10条list
<?php query_posts('post_type=post&cat=7&showposts=10&orderby=rand'); ?>
<?php while (have_posts()) : the_post(); ?>
<li><a href="<?php the_permalink() ?>" target="_blank"><?php the_title(); ?></a></li>
<?php endwhile; ?>
强烈推荐使用wpjam插件,集合了非常多插件,本身也是口碑很好的wp优化插件,像wpjam-toc、缩略图,memcached:https://blog.wpjam.com/project/wpjam-basic/
调用cat=11最新修改的12条图文:
<?php $cat = get_the_category();
foreach($cat as $key=>$category) {
$catid = $category->term_id;
}
$args = array('orderby' => 'modified','showposts' => 12,'cat' => 11 );
$query_posts = new WP_Query();
$query_posts->query($args);
while ($query_posts->have_posts()) : $query_posts->the_post();
?>
<div class="col-md-3 product-item mt30">
<a href="<?php the_permalink() ?>" target="_blank" class="text-center center-block">
<?phpif(wpjam_has_post_thumbnail()){?>
<div class="entry-thumb">
<a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php wpjam_post_thumbnail(,$crop=1);?></a>
</div>
<?php } ?>
<h3><?php the_title(); ?></h3>
</a>
</div>
<?php endwhile;
?>
<?php wp_reset_query();
?>
</div>
<?php endif; ?>
页:
[1]
2