仅限当前用户的循环中的元键值

时间:2016-01-25 作者:Chris Homan

我只为登录用户创建了一个循环,它可以完美地处理除元键以外的所有数据。我也希望能够提取元键,但迄今为止运气不佳。

这是我的循环(基于this post):

<?php add_shortcode( \'current-userposts\' , \'show_userposts\' );
function show_userposts(){
$user_id = get_current_user_id();
$loop = new WP_Query( array( \'post_type\' => \'photo-spot\', \'author\' => $user_id ) ); 
if ( $loop->have_posts() ) {    
?>
<form class="pps-results"><?php
        while ( $loop->have_posts() ) : $loop->the_post(); ?>
                <fieldset>
                    <legend class="title-block">
                        <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a>
                    </legend>
                    <div class="category-block">
                        <?php $categories = get_the_category(); 
                        if ( ! empty( $categories ) ) {
                            echo esc_html( $categories[0]->name );   
                        }
                        ?>
                    </div>
                    <?php
                    if ( has_post_thumbnail() ) { // check if the post has a Post Thumbnail assigned to it.
                        ?><div class="image-block"><?php
                    the_post_thumbnail( \'thumbnail\' );
                        ?></div><?php
                    } 
                    ?>
                    <div class="address-block">
                        <?php echo get_post_meta($post->ID, \'_cf_address\', true); ?>
                    </div>
                    </div>
                </fieldset>
            <div class="clear"></div>     
<?php endwhile; ?>
        </form>
        <?php
}
wp_reset_postdata();
} ?>
该函数通过短代码调用

当我在搜索中使用完全相同的循环时。php模板自定义值(\'\\u cf\\u address\')显示得非常完美,但不知何故,它不带短代码。。。

知道哪里出了问题吗?

PS>预览屏幕没有显示我的html代码-我希望它能正常显示。

1 个回复
最合适的回答,由SO网友:Milo 整理而成

没有$post var本地到您的函数,您需要使用global $post 首先,或get_the_ID().

get_post_meta( get_the_ID(), \'_cf_address\', true );

相关推荐

当in_the_loop()为假时,何时以及为什么is_Single(‘my_cpt’)为真?

我正在使用模板系统的示例代码。此地址的页码:http://project.test/my_cpt/hello-post/.无法理解原因is_singular( \'my_cpt\' ) 是true 虽然in_the_loop() 是false.在页面模板中The Loop "E;“工程”:if ( have_posts() ) { while ( have_posts() ) { the_post(); ?>