未登录时,the_author为空

时间:2012-08-27 10:08:08

标签: wordpress

当用户未登录时,是否有理由在第一页上返回一个空字符串,但是当通过AJAX加载更多帖子时,返回作者名称的原因是什么? 两种情况下的循环都是相同的。 请帮助我解决这个问题,因为我很无能为力,我需要尽快修复以启动我的网站。

这是整个index.php:

<?php 

get_header();
get_sidebar();

?>
<!-- MAIN DIV -->

            <div id='content_and_floater'>

                <?php get_template_part('social_floater'); ?>
                <div id='content'>
                    <?php get_template_part('loop'); ?>
                </div>

            </div>

            <?php get_template_part('loader'); ?>

<!-- MAIN DIV -->
<?php
get_footer();
?>

以下是infinitePaginator如何在functions.php中调用循环(当向下滚动到底部或点击加载器链接时调用该函数):

function wp_infinitepaginate(){
    $loopFile        = $_POST['loop_file'];
    $paged           = $_POST['page_no'];
    $posts_per_page  = get_option('posts_per_page');  

    # Load the posts
    query_posts(array('paged' => $paged ));
    get_template_part( $loopFile );  

    exit;
}

您可以在test.nowillnoskill.net上看到该行为。 在单个帖子中它也不起作用。我的猜测是query_posts(array('paged'=&gt; $ paged));在查询中改变了一些东西,但我不知道它是什么。 我试图插入setup_postdata($ post);就在loop.php中的the_post()之后,因为我发现它适用于某人,但它不适合我。

我也尝试插入

query_posts(array('paged' => 1 ));

在index.php中调用循环文件之前,但没有显示任何帖子。

这是我的loop.php:

<?php while ( have_posts() ) : the_post() ?>    
            <!-- POST1 -->
            <article class='post'>  
                <header class='post_header'>

                    <?php
                        global $current_user;
                        $current_user = wp_get_current_user();
                        if (!empty($current_user)) {
                            $pid = get_the_id();
                            $uid = $current_user->ID;

                            $title = (is_favorite($pid, $uid)) ?
                                'Remove from favorites' :
                                'Add to favorites';

                            $trans = (is_favorite($pid, $uid)) ?
                                '' :
                                ' transparent';

                    ?>

                    <div>
                        <h2>
                            <a href="<?php the_permalink(); ?>">
                                <?php the_title(); ?>
                            </a>
                        </h2>

                        <?php if (is_user_logged_in()) { ?>
                        <a title='<?php echo $title ?>' class='post_favorite' href='#' alt='fpid=<?php echo $pid ?>uid=<?php echo $uid ?>'>
                            <span class='symbol<?php echo $trans ?>'>R</span> 
                        </a>
                        <?php } ?>

                    </div>

                    <div class='post_header_div'>

                        <strong class='post_category'>
                            <?php echo get_the_category_list(', '); ?>
                        </strong>

                        <strong class='post_author'>
                            <span class='symbol'>U</span>
                                <?php the_author(); ?>
                        </strong>

                    </div>

                    <div>

                        <span class='post_author'>
                            <?php edit_post_link('[edit]'); ?>                          
                        </span>

                    </div>

                    <?php } ?>

                </header>

                <figure class='post_image'>
                    <!--<img src='design/img/flashkick.png' alt='logo' />-->
                    <?php the_post_thumbnail(); ?>
                </figure>

                <div class='post_perex'>
                    <?php the_content('Read more'); ?>
                </div>

                <div class='space'></div>

                <footer class='post_footer'>

                    <div class='post_footer_top'>

                        <div class='post_tags'>
                            <?php the_tags('', '', ''); ?>
                        </div>

                        <div class='post_time'>
                            <time datetime="<?php the_time('Y-m-d'); ?>" pubdate>
                                <span class='symbol'>P </span>
                                    <?php relative_post_the_date(); ?>
                            </time>

                        </div>

                    </div>

                </footer>

                <div class='space'></div>

            </article>

            <?php endwhile; ?>

1 个答案:

答案 0 :(得分:0)

作者信息由Wordpress在帖子信息中给出。 尝试对query_posts结果执行var_dump,您应该找到存储作者姓名的位置,以便正确显示它。

你能否展示你的循环模板?至少显示作者的部分。