按字段名称筛选页面(高级自定义字段和Wordpress)
问题描述:
我正在使用Wordpress和高级自定义字段。按字段名称筛选页面(高级自定义字段和Wordpress)
我希望能够创建一个显示不同页面的摘要或过滤他们的网页。
例子:我有10个不同的页面,每一个关于酒店的,他们已经存储在该宾馆,酒店名称,位置,设施等领域(高级自定义字段)的各种信息..
的10家酒店是主页的子页面,主页显示其上的所有酒店,但仅显示关于酒店的某些细节,例如描述和图像摘录。
我创造了另一个高级自定义字段名为类别,尝试和测试,如果我能得到它的工作,我只填写在该领域与“酒店”几个酒店的相关实际页面。
我正在努力做的事情是编写一些代码,以便页面只显示属于“酒店”类别的酒店,我将代码写入模板文件,因此主要酒店页面列出了所有酒店正在使用此模板。
所有正在使用的页面,而不是帖子,所有的信息都存储在通过先进的自定义字段插件领域。
我相信代码应该是使用if
和else
职能工作。
如果有人可以帮助我解决这个问题它会非常赞赏。
答
看来你想查询与设置为特定值有一定的自定义字段页面。要做到这一点,你可以在你的页面模板使用元查询,例如:
<?php
$args = array(
'post_type' => 'page',
'meta_query' => array(
array(
'key' => 'Category',
'value' => 'Hotel',
'compare' => 'LIKE'
)
),
'posts_per_page' => get_option('posts_per_page')
);
$hotel_query = new WP_Query($args);
?>
对于自定义字段更高级的查询,查看文档上custom field parameters in WP_Query。
一旦获取您的自定义查询,您可以通过结果几乎像正常循环:
<ul>
<?php if ($hotel_query->have_posts()) : while ($hotel_query->have_posts()) : $hotel_query->the_post(); ?>
<li><?php the_title(); ?></li>
<?php endwhile; endif; ?>
</ul>