从查看次数最多的列表中获取页面祖先

时间:2016-10-25 作者:Gabrielle

我正在使用WPBeginner\'的教程确实会显示网站上查看次数最多的页面列表。

这是我的职能。php:

function wpb_set_post_views($postID) {
    $count_key = \'wpb_post_views_count\';
    $count = get_post_meta($postID, $count_key, true);
    if($count==\'\'){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, \'0\');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}
//To keep the count accurate, lets get rid of prefetching
remove_action( \'wp_head\', \'adjacent_posts_rel_link_wp_head\', 10, 0);
这在我的页面上。php(循环内):

<?php wpb_set_post_views(get_the_ID()); ?>
这是一个自定义模板页面,我将在其中显示热门点击列表(而不是常规的the\\u内容):

<?php echo \'<ul>\';
    $popularpost = new WP_Query( array( \'post_type\' => \'page\', \'posts_per_page\' => 20, \'meta_key\' => \'wpb_post_views_count\', \'orderby\' => \'meta_value_num\', \'order\' => \'DESC\', \'exclude\' => \'19,21,22\', \'date_query\' => array(\'before\' => \'1 month ago\') ) );
    while ( $popularpost->have_posts() ) : $popularpost->the_post();
?>
    <li><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endwhile;
echo \'</ul>\'; ?>
它工作得很好,但我希望在列表中的页面链接之前有页面祖先。我试着把这些放进去<li>, 就在页面链接之前-但他们没有返回任何内容:

<?php get_ancestors(); ?> 
&;

<?php $ancestors = get_ancestors( \'$post->ID\', \'page\', \'post_type\' ); ?>
如何在那里显示页面的祖先?

1 个回复
SO网友:AddWeb Solution Pvt Ltd

get_ancestors 将返回数组表单值。因此,如果您谈论如何通过链接获取和显示祖先:

<?php 
 $arrAncestors = get_ancestors( $post->ID, \'page\'); 
 $cntAncestors = COUNT($arrAncestors);
 if($cntAncestors > 0) {
   $parentPostId = $arrAncestors[$cntAncestors - 1];
   $parentPageLink = get_permalink($parentPostId);
   $parentTitle = get_the_title($parentPostId);
   print \'<li><a href="<?php $parentPageLink ?>" title="<?php $parentTitle; ?>"><?php $parentTitle; ?></a></li>\';
 }
?>
希望您能从上面的代码片段中得到解决方案。