用wordpress根据自定义字段做多重筛选列表的代码

IT资讯
IT资讯
IT资讯
1214
文章
241
评论
2023-03-1400:05:37
评论
365 2405字

下面的内容是通过chatGPT3.5得到的答案,你们可以试一下,不能保证100%有效。

<?php
 // 获取所有符合条件的文章列表 
$args = array( 
'post_type' => 'post',//文章类型 
'posts_per_page' => -1,//获取所有文章 
'meta_query' => array( 'relation' => 'AND',//多重筛选为 AND 或 OR 
array( 'key' => 'custom_field1',//自定义字段1 
'value' => 'value1',//自定义字段1值 
'compare' => '=' ), 
array( 
'key' => 'custom_field2',//自定义字段2 
'value' => 'value2',//自定义字段2值 
'compare' => '=' ) 
) 
); 

$query = new WP_Query($args); // 如果有符合条件的文章则输出列表 
if ($query->have_posts()) : 
echo '<ul>'; 
while ($query->have_posts()) : $query->the_post(); 
echo '<li>' . get_the_title() . '</li>'; //输出文章标题 
endwhile; echo '</ul>'; // 处理完要恢复 $post 全局变量数据 
wp_reset_postdata(); 
else : 
echo '没有符合条件的文章'; 
endif; 
?> 

PS: 请注意修改代码中的自定义字段其他参数以符合您的需求。

 

 

 

 

 

 

最后,在你的主题的 functions.php 文件中,添加以下 PHP 代码以处理 Ajax 请求和输出内容列表:

add_action('wp_ajax_my_custom_filter', 'my_custom_filter_callback'); 
// 替换为你的 Ajax 处理函数名称
add_action('wp_ajax_nopriv_my_custom_filter', 'my_custom_filter_callback'); 
// 替换为你的 Ajax 处理函数名称

function my_custom_filter_callback() {
$args = array(
'post_type' => 'post',
'posts_per_page' => -1,
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'custom_field1',
'value' => $_POST['filter1_value'],
'compare' => '='
),
array(
'key' => 'custom_field2',
'value' => $_POST['filter2_value'],
'compare' => '='
)
)
);
$query = new WP_Query($args);

if ($query->have_posts()) :
$output = '<ul>';
while ($query->have_posts()) : $query->the_post();
$output .= '<li>' . get_the_title() . '</li>';
endwhile;
$output .= '</ul>';
wp_reset_postdata();
else :
$output = '没有内容';
endif;

echo $output;
wp_die();
}

 

注意:在上面的示例代码中,“替换为你的 Ajax 处理函数名称”是占位符。你需要将其替换为你实际使用Ajax 处理函数的名称

 

 

  • Copyright ©  PC在线云端  版权所有.
  • 转载请务必保留本文链接:https://nrcs.xyz/web/11701.html
Orgorg速率最高可达1000Mbps,流畅观看Youtube 4K、TikTok,支持 Windows、Android、iOS、Mac,支持 微信、支付宝 付款!
超高性价比,新用户注册送1元,可直接在商店购买套餐。节点和负载服务器很多,稳定性和速度有保障。有共享流媒体会员。有三端VPN程序。最萌の云 ☁️顶级云服务商,超过50个G口节点,上百台服务器负载加速,稳且快,高峰秒8K。提供网飞等会员共享,超值!限时免费尝鲜!
全球数据中心,多点BGP保证速度,无视晚高峰,全天4K秒开,IPLC专线无惧封锁
全IEPL /青云跨境,高峰时期稳定8K播放,流媒体影视, ChatGPT 解锁保障,客户端无日志保护您的隐私安全,稳定运行5年+
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: