在元框

时间:2017-05-19 10:00:36

标签: wordpress loops variables global custom-fields

我有一个问题给你们所有人!

我有一个名为'candidato'的帖子类型,另一个名为'lista'的帖子类型和另一个名为'list1'的帖子类型。

每种帖子类型都有很多自定义字段。

在'candidato'中,主要字段是'n-cand',表示独特的位置。每个'candidato'都有自己的位置,因此'n-cand'值可以识别每个特定的'candidato'。

每个'candidato'由一个或多个'lista'支持(至少一个)。因此,在'lista'中,我创建了一个自定义字段(通过while循环),并根据已发布的'candidato'的数量动态更新下拉列表。所以,如果我有4个'candidato',当我创建一个新的'lista'时,我有4个选项我可以选择。每个选项都显示the_title()(即每个'candidato'的名称)并将'n-cand'值(即'candidato'的位置)指定为值。 我用这种方式:

<select name="sind-list">

<?php
    query_posts( array(
        'post_type' => 'candidato',
        'orderby' => 'meta_value_num',
        'meta_key' => 'n-cand',
        'order' => 'ASC'
    ) );   

    if( have_posts() ) : while( have_posts() ) : the_post();
?>
    <?php global $post; ?>
    <?php $ncand = get_post_meta($post->ID, 'n-cand', true); ?>

    <option value="<?php echo $ncand; ?>" <?php if ( isset ( $liste_stored_meta['sind-list'] ) ) selected( $liste_stored_meta['sind-list'][0], $ncand ); ?>><?php _e( the_title(), 'prfx-textdomain' )?></option>';
<?php endwhile; endif; wp_reset_query(); ?>
</select>

只有在我使用'global $ post'时才能正常工作。

我现在要做的是为'lista1'创建一个元框,其中我有一个按位置排序的'candidato'列表('n-cand'键),每个列表下都有'lista'列表'支持那''candidato'。这是一个循环内的循环。 我用了这段代码:

<?php
    query_posts( array(
        'post_type' => 'candidato',
        'orderby' => 'meta_value_num',
        'meta_key' => 'n-cand',
        'order' => 'ASC'
    ));   

    if( have_posts() ) : while( have_posts() ) : the_post();
?>

    <?php
    global $post;
    $ncand = get_post_meta($post->ID, 'n-cand', true);
    ?>

            <?php
            $postlist = new WP_Query( array(
                 'post_type' => 'lista',
                 'orderby' => 'meta_value_num',
                 'meta_key' => 'n-list',
                 'order' => 'ASC',
                 'meta_query' => array(
                      array(
                      'key' => 'sind-list',
                      'value' => $ncand,
                      'compare' => '='
                      ),
                 ),
            ));
            while( $postlist->have_posts() ) : $postlist->the_posts();
            ?>
            // WRITE SOMETHING
            <?php endwhile; wp_reset_query(); ?>

<?php endwhile; endif; wp_reset_query(); ?>

但这不起作用!!!

我收到此消息:

  

致命错误:在非对象上调用成员函数have_posts()

指的是上面代码的最后一行。 愿有人帮帮我吗? 真的,谢谢你!

0 个答案:

没有答案