【发布时间】:2023-03-10 17:07:01
【问题描述】:
我正在制作一个两部分的表单,以允许用户在 WordPress 上创建帖子。
第一部分包含帖子标题、内容和链接,然后使用 AJAX 从该数据创建帖子。当使用wp_insert_post() 创建帖子时,会返回帖子 ID。
function makeblog_page2form (){
global $make_post_id;
if( check_admin_referer('page2form_submit','page2form_subform') ){
// more code
$make_post_id = wp_insert_post( $post );
exit;
} else{
wp_redirect( home_url( '/submission-error/' ) );
exit;
}
}
第二部分获取一张图片并将其上传到 WordPress 画廊,然后将图片附加到帖子中,作为它的特色图片。对于图像提交,我使用Frontend Uploader,并在此插件中使用包含的add_action('fu_after_upload', callback_function)。
当我尝试在add_action() 中使用$make_post_id 全局附加图像时遇到问题,没有返回任何内容。
add_action( 'fu_after_upload', function( $attachment_ids ) {
global $make_post_id;
var_dump($make_post_id); // no return value
} );
这两者都在同一个 file.php 中。
如果这还不够清楚,请告诉我。谢谢。
【问题讨论】:
-
在调用
add_action()之前有输出吗? -
是的,它确实在函数中创建帖子并返回正确的帖子 ID。尝试将该 ID 传递到同一 PHP 文件中的另一个范围是有问题的。