我正在使用Wordpress和高级自定义字段。
我希望能够创建显示不同页面摘录或过滤它们的页面。
示例:我有10个不同的页面,每个页面都有一个酒店,他们有关于酒店,酒店名称,位置,设施等的字段(高级自定义字段)中存储的各种信息。
10家酒店是主页的子页面,主页面显示其上的所有酒店,但仅显示酒店的某些详细信息,例如描述的摘录和图片。
我创建了另一个名为Category的高级自定义字段,尝试测试是否可以使其工作我只在“Hotel”字段填写了一些实际的酒店相关页面。
我正在努力做的是编写一些代码,以便该页面只显示“酒店”类别下的酒店,我将代码写在模板文件中,因此列出所有酒店的主要酒店页面正在使用这个模板。
所有信息都使用网页而非帖子,所有信息都通过高级自定义字段插件存储在字段中。
我认为代码应该使用if
和else
函数来工作。
如果有人能帮我解决这个问题,我将不胜感激。
答案 0 :(得分:1)
您似乎希望查询将某个自定义字段设置为特定值的网页。为此,您可以在页面模板中使用元查询,如下所示:
<?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>