GET_POST_TITLE在主页上不起作用

时间:2016-01-11 作者:jetpilot

我的简单快捷码适用于除Wordpress 2016主题中的主页(静态)之外的所有页面。除了帖子标题以外,我可以阅读的所有内容。它是空的。我想在主页上显示带有标题的帖子。一切正常。但标题为空。谢谢

//Recent post shortcode single
function mfbs_recent_post1x1($atts){
    $q = new WP_Query(
        array( \'orderby\' => \'date\', \'posts_per_page\' => \'4\')
    );
    $list = \'<div class="row mfbs1x1">\';
    while($q->have_posts()) : $q->the_post();
        $title = $q->the_post()->post_title;
        $list .= \'<div class="small-12 medium-12 large-12 columns">\';
        $list .= $title;
        $list .= \'<a href="\' . get_permalink() . \'">\' ;
        $list .= get_the_post_thumbnail($the_post->ID , \'medium\', array( \'class\' =>     \'alignleft\' ) );
        $list .= \'<br>\' . get_the_title() .  \'</a>\' . \'<br>\' . get_the_excerpt() . \'</div>\';
    endwhile;
    wp_reset_query();
    return $list . \'</div>\';
}
add_shortcode(\'foodrecentpost1x1\', \'mfbs_recent_post1x1\');

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

此时,您正在查询中使用查询。因此,您需要定义global $post 在函数文件的顶部,这样它就可以分配一些内容the_post(). 现在你有了$post 对象可以替换所有测试代码$post->attribute:

//Recent post shortcode single
function mfbs_recent_post1x1($atts){
    global $post;
    $q = new WP_Query(
        array( \'orderby\' => \'date\', \'posts_per_page\' => \'4\')
    );
    $list = \'<div class="row mfbs1x1">\';
    while($q->have_posts()) : $q->the_post();
        $title = $post->post_title;
        $list .= \'<div class="small-12 medium-12 large-12 columns">\';
        $list .= $title;
        $list .= \'<a href="\' . get_permalink() . \'">\' ;
        $list .= get_the_post_thumbnail($post->ID , \'medium\', array( \'class\' =>     \'alignleft\' ) );
        $list .= \'<br>\' . get_the_title() .  \'</a>\' . \'<br>\' . get_the_excerpt() . \'</div>\';
    endwhile;
    wp_reset_query();
    return $list . \'</div>\';
}
add_shortcode(\'foodrecentpost1x1\', \'mfbs_recent_post1x1\');

相关推荐

致命错误:未捕获错误:无法将WP_ERROR类型的对象用作/../plugins/rm-payment.php中的数组

我使用2个WordPress站点、1个WordPress站点到2个WordPress站点的远程支付系统。第一个是主网站;第二个网站的工作方式类似于处理贝宝支付的商户网站。我们将第一个网站的用户订单详细信息提取到第二个网站,以处理贝宝付款。但在获取第二个网站的网页时出现错误,但请记住,如果重新加载它一次,问题就解决了致命错误:未捕获错误:无法将WP\\u error类型的对象用作/中的数组/插件/rm支付。php:第231行 $response = wp_remote_post( $remote_url,