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