簡體   English   中英

按字段名稱過濾頁面(高級自定義字段和Wordpress)

[英]Filter a page by a field name (Advanced Custom Fields & Wordpress)

我正在使用Wordpress和高級自定義字段。

我希望能夠創建顯示不同頁面摘錄或對其進行過濾的頁面。

示例:我有10個不同的頁面,每個頁面與一個酒店有關,它們在有關酒店,酒店名稱,位置,設施等的字段(高級自定義字段)中存儲了各種信息。

這10家酒店是主頁的子頁面,主頁上顯示所有酒店,但是僅顯示有關酒店的某些詳細信息,例如描述和圖像的摘錄。

我創建了另一個名為“類別”的高級自定義字段,以嘗試測試是否可以使它正常工作,我只在“酒店”字段中填寫了一些實際的酒店相關頁面。

我正在努力做的是編寫一些代碼,因此該頁面僅顯示“酒店”類別下的酒店,我將代碼編寫在模板文件中,因此列出所有酒店的“酒店”主頁面正在使用此代碼。模板。

所有這些都使用頁面而不是帖子,所有信息都通過“高級自定義字段”插件存儲在字段中。

我認為代碼應該使用ifelse函數正常工作。

如果有人可以幫助我解決這個問題,將不勝感激。

看來您想查詢將某些自定義字段設置為特定值的頁面。 為此,您可以在頁面模板中使用元查詢,如下所示:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM