eltonto 发表于 2021-7-6 12:23:49

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:08:39

本帖最后由 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;
    ?>

syxxz 发表于 2021-7-8 00:04:33

技术贴 Mark了

myes 发表于 2021-8-6 20:58:01

有没有WordPress用户,提供些好用的代码吧

之前我提供的:WordPress屏蔽搜索非法关键词 https://www.im286.net/thread-24267724-1.html
WordPress迁移至腾讯云serverless踩坑日记 https://www.im286.net/thread-24269171-1.html

eltonto 发表于 2021-8-6 21:28:07

感谢你的wp代码分享呀,对于爱分享的落伍mjj我一向乐于鼓励,哈哈

落英缤纷 发表于 2021-8-6 22:03:21

楼主的代码放在哪里用?小白一个

我现在用php的opcache+memcahced+wp super cache

eltonto 发表于 2021-8-7 09:59:24

落英缤纷 发表于 2021-8-6 22:03
楼主的代码放在哪里用?小白一个

我现在用php的opcache+memcahced+wp super cache

每个模板都有fuctions.php 放里面就行了

落英缤纷 发表于 2021-8-7 17:48:11

eltonto 发表于 2021-8-7 09:59
每个模板都有fuctions.php 放里面就行了

谢谢 收藏一波。

myes 发表于 2021-8-8 10:57:32

分享近期用的很顺手的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; ?>

myes 发表于 2021-8-8 11:15:01

强烈推荐使用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
查看完整版本: wordpress显示指定分类搜索结果。亲测可用