Wordpress: показать страницу, если есть специальный шаблон и настраиваемое поле - PullRequest
0 голосов
/ 02 июля 2019

Я хотел бы отобразить на странице список страниц с: - пользовательский шаблон - И пользовательское поле

Я знаю, как отобразить страницу с пользовательским шаблоном, она работает:

<?php $args = array(
        'post_type' => 'page',
    'posts_per_page' => 1,
    'orderby' => 'rand',
    'meta_query' => array(
        array(
            'key' => '_wp_page_template',
            'value' => 'custom-template.php'
        )
    )
);
$the_pages = new WP_Query( $args );
if( $the_pages->have_posts() ){
    while( $the_pages->have_posts() ){
        $the_pages->the_post(); ?>
        <h2><?php the_title; ?></h2>
    <?php }
} wp_reset_postdata(); ?>
<?php } ?>

Но я бы хотел добавить условие: показывать, только если у них есть настраиваемое поле "привет".

Возможно, мне следует добавить что-то вроде этого, но я не знаю где, я пробовал разные вещи, и это не работает ..

array(
'key' => 'hello'
)

У вас есть идея? Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 02 июля 2019

Вам необходимо добавить ключ и значение настраиваемого поля в запрос мяса, как вы сделали для шаблона страницы:

'meta_query' => array(
    array(
        'relation' => 'AND',
        array(
            'key'     => '_wp_page_template',
            'value'   => 'custom-template.php',
            'compare' => '='
        ),
        array(
            'key'     => 'hello',
            'value'   => '',
            'compare' => '!='
        ),
    )
);
...