将帖子的类别名称显示为wordpress中短代码的一部分

时间:2018-03-12 14:55:07

标签: php wordpress wordpress-theming custom-wordpress-pages

我试图显示帖子的类别名称,但它不起作用。 我怎么能让这个工作? 我在function.php

中写了以下内容
awk '{ if ( $0 ~ /<?xml/ || $0 ~ /<EDI_DC40>/ || $0 ~ /<DOCNUM>/ || $0 ~ /<IDOCTYP>/ || $0 ~ /<MESTYP>/ || $0 ~ /<SNDPOR>/  || $0 ~ /<EDI_DC40>/ || $0 ~ /<IDOC>/ || $0 ~ /<INVOIC02>/ ) { print $0 } }' test.xml

2 个答案:

答案 0 :(得分:1)

get_posts()函数返回一个post对象数组,其中不包含有关其分类法的信息。

正如@ condini-mastheus正确指出的那样,您需要使用get_the_category()来获取每个帖子的类别:

function wptuts_recentpost2( $atts, $content=null ){

    $getpost = get_posts( array('number' => 1, 'offset' => 1) );
    $getpost = $getpost[0];
    $category = get_the_category( $getpost->ID );

    $return = get_the_post_thumbnail($getpost->ID) . "<br /><a class='post_title' href='" . get_permalink($getpost->ID) . "'>" . $getpost->post_title . "</a>" . $category[0]->cat_name . "<br />" . $getpost->post_excerpt . "…";
    $return .= "<br /><br />";

    return $return;

}
add_shortcode('newestpost2', 'wptuts_recentpost2');

答案 1 :(得分:0)

尝试添加

$category = get_category($getpost->cat_ID)

而不是替换

$getpost->cat_ID

$category->name