如何将Wordpress CPT默认标题设置为Post Meta

时间:2018-02-11 19:02:37

标签: php wordpress custom-post-type

我正在尝试将自定义帖子类型的默认帖子标题设置为帖子类别,其中包含空格,然后是发布日期。但是我收到了一个错误。我尝试了很多不同的变体。

function add_default_podcast_title( $data, $postarr ) {
if($data['post_type'] == 'podcasts') {
    if(empty($data['post_title'])){
        $ashow = get_the_category();
        $publishdate = the_date('M j');
        $data['post_title'] = $ashow.' '.$publishdate;
    }
}
return $data;
}
add_filter('wp_insert_post_data', 'add_default_podcast_title', 10, 2 );

1 个答案:

答案 0 :(得分:2)

get_the_category()返回一个数组,但在你的回调函数中,你将该数组用作字符串。这就是为什么要犯这个错误。这是你的代码的简化和修复版本,我没有测试它,但它应该工作。

function add_default_podcast_title( $data, $postarr ) {
    if ( 'podcasts' === $data['post_type'] && empty( $data['post_title'] ) ) {
        $ashow = 'prefix';
        $categories = get_the_category();
        $publishdate = the_date( 'M j' );
        if ( ! empty( $categories ) ) {
            $first_category = current( $categories );
            $ashow = $first_category->name;
        }
        $data['post_title'] = $ashow . ' ' . $publishdate;
    }
    return $data;
}
add_filter( 'wp_insert_post_data', 'add_default_podcast_title', 10, 2 );