我正在使用PHP 5.6.8在Windows中使用Wordpress 4.2.2, Xampp安装
我在主题的functions.php中添加了以下功能, 以自动设置帖子类型”出发”的标题:
function custom_title() {
if ($_POST['post_type'] == 'departure') :
$post_title = 'Departure-'.$_POST['post_ID'];
return $post_title;
endif;
}
add_filter ( 'title_save_pre', 'custom_title' );
自定义帖子类型”出发”的标题设置工作正常。但是, 当我尝试添加新的wordpress标准帖子(即post_type = post)时, 出现以下错误:
警告:从第627行的wp-admin \ includes \ post.php中的空值创建默认对象
627行如下:
/**
* Filter the default post content initially used in the "Write Post" form.
*
* @since 1.5.0
*
* @param string $post_content Default post content.
* @param WP_Post $post Post object.
*/
$post->post_content = apply_filters( 'default_content', $post_content, $post );
所有其他帖子类型(即自定义类型和wordpress标准页面)都可以正常工作。通过将$ _POST数据转储到日志文件中, 我已经看到, 对于所有工作的post类型, 一个空数组(即array())作为$ _POST数据传递。使用” post”帖子类型不会发生这种情况。
如果我在functions.php中注释该函数, 则在添加新的” post”帖子类型时, 将空数组作为$ _POST数据发送, 问题消失了。
有任何想法吗?
谢谢
#1
即使帖子类型不是离开, 也需要返回一个值。该函数应带有一个参数, 并返回以下内容:
function custom_title($post_title) {
if ($_POST['post_type'] == 'departure') {
$post_title = 'Departure-'.$_POST['post_ID'];
}
return $post_title;
}
add_filter ( 'title_save_pre', 'custom_title' );
来源:
https://www.srcmini02.com/67711.html