我设置了以下操作回调:
function abc_save_post($post_id, $post)
{
// do stuff
echo \'<pre>\'.print_r($post,true).\'</pre>\';
}
add_action(\'save_post\', \'abc_save_post\', 10, 2);
问题是
$post
是一个非常精简的版本
$_POST
而且丢失了很多我想获取的数据。如何将更多数据获取到
$post
?
最合适的回答,由SO网友:Stephen Harris 整理而成
只需使用post ID,由提供$post_id
(并存储在$post->ID
) 使用WordPress提供的各种功能获取与该帖子相关的任何额外数据(get_the_terms
,get_post_meta
等等)。
在性能方面,使用这些函数而不是试图将更多数据强制输入到$post
对象(事实上可能正好相反),因为WordPress缓存与帖子相关的数据(如分类术语、帖子元数据等)