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

Php 如何将Wordpress CPT默认标题设置为Post Meta,php,wordpress,custom-post-type,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 =

我正在尝试将自定义帖子类型的默认帖子标题设置为帖子类别,空格大于发布日期。然而,我得到了一个错误。我试过很多不同的方法

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 );
返回一个数组,但在回调函数中,您将该数组用作字符串。这就是为什么会出现这样的错误。这是您的代码的简化和固定版本,我还没有测试过它,但它应该可以工作

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 );
返回一个数组,但在回调函数中,您将该数组用作字符串。这就是为什么会出现这样的错误。这是您的代码的简化和固定版本,我还没有测试过它,但它应该可以工作

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 );

请描述您遇到的错误。警告:mysqli_real_escape_string()要求参数2为字符串,第1102行/wp includes/wp-db.php中给出的数组警告:无法修改标头信息-标头已由发送(输出从/wp includes/wp db.php:1102开始)在第1216行的/wp includes/pluggable.php中,请描述您收到的错误。警告:mysqli_real_escape_string()预期参数2为字符串,第1102行的/wp includes/wp-db.php中给出的数组警告:无法修改标头信息-标头已由发送(输出从/wp includes/wp db.php:1102开始)在第1216行的/wp includes/pluggable.php中,只要在$ashow=$first\u category->nameOops结尾添加一个“;”!很高兴听到:)这很有效,只需要在$ashow=$first\u category->nameOops结尾添加一个“;”!很高兴听到这个消息:)