没有结果时添加文本

时间:2019-06-12 11:52:13

标签: php wordpress

我必须自定义一个功能。 该功能在(自定义)类别页面上显示自定义帖子。 此功能的问题在于没有结果时缺少文本。

例如,在任何类别页面上,如果网格中没有可用的帖子显示,我想显示诸如“此类别中没有帖子。请尝试其他类别”之类的文本。

代码如下:

 

        global $paged, $wp_query, $wp;
        $args = wp_parse_args($wp->matched_query);
        if ( !empty ( $args['paged'] ) && 0 == $paged ) {
        $wp_query->set('paged', $args['paged']);
        $paged = $args['paged'];
        }                           
        $cat_id = get_queried_object_id();
        $temp = $wp_query;
        $featuredPosts = array();
        $args = array(
        'post_type' => 'post',
        'post_status' => 'publish',
        'posts_per_page' => $classieraFeaturedAdsCounter,
        'paged' => $paged,                              
        'cat' => $cat_id,
        'meta_query' => array(
        array(
        'key' => 'featured_post',
        'value' => '1',
        'compare' => '=='
                             )
            ),
        );
        $wp_query= null;
        $wp_query = new WP_Query($args);
        while ($wp_query->have_posts()) : $wp_query->the_post();
        $featuredPosts[] = $post->ID;
        get_template_part( 'templates/classiera-loops/loop-ivy');
        endwhile;
        wp_reset_postdata();
        wp_reset_query();

有人有想法包含此选项吗? 谢谢。

解决方案:



    wp_query = new WP_Query($args);
    if ( have_posts() ) :
    while ($wp_query->have_posts()) : $wp_query->the_post();
    $featuredPosts[] = $post->ID;
    get_template_part( 'templates/classiera-loops/loop-ivy');
    endwhile;
    else :
    echo wpautop('No result');
    endif;

1 个答案:

答案 0 :(得分:4)

我不是WP开发人员,但似乎是

if ($wp_query->have_posts()) {
    while ($wp_query->have_posts()) : $wp_query->the_post();
} else {
    echo 'No post here';
}

参考链接:https://codex.wordpress.org/Function_Reference/have_posts