0

我正在使用 Wordpress 和高级自定义字段。

我希望能够创建显示不同页面摘录或过滤它们的页面。

示例:我有 10 个不同的页面,每个页面都是关于酒店的,它们在字段(高级自定义字段)中存储了有关酒店、酒店名称、位置、设施等的各种信息。

这 10 个酒店是一个主页的子页面,主页上显示所有酒店,但仅显示酒店的某些详细信息,例如描述的摘录和图像。

我创建了另一个名为“类别”的高级自定义字段,以尝试测试是否可以使其正常工作,我只为一些实际的酒店相关页面填写了“酒店”字段。

我正在努力做的是编写一些代码,以便该页面仅显示“酒店”类别下的酒店,我在模板文件中编写代码,因此列出所有酒店的主要酒店页面正在使用这个模板。

所有人都在使用页面而不是帖子,所有信息都通过高级自定义字段插件存储在字段中。

我认为代码应该正在使用if并且else功能可以正常工作。

如果有人可以帮助我解决这个问题,将不胜感激。

4

1 回答 1

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 );
?>

有关自定义字段的更高级查询,请查看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>
于 2012-09-19T02:53:58.893 回答