请考虑以下代码:
function mcqac_wp_enqueue_assets() {
if (is_admin()) {
wp_enqueue_script(
'mcqac-js-admin', // Handle.
PLUGIN_URL . 'build/main-admin.js',
array( 'jquery' ), // Dependencies, defined above.
filemtime( PLUGIN_PATH . 'build/main-admin.js' ), // Version: File modification time.
true // Enqueue the script in the footer.
);
$mcqacAdminData = array();
if (get_the_ID()) {
$mcqacAdminData['options'] = get_post_meta(get_the_ID(), 'mcqac_options', true);
}
wp_localize_script('mcqac-js-admin', 'mcqacAdminData', $mcqacAdminData);
}
}
add_action('init', 'mcqac_wp_enqueue_assets');
当我进入编辑帖子页面时,get_the_ID()
不返回任何内容。好像init
动作挂钩在发布查询之前被触发。
解决方案是什么?
答案 0 :(得分:0)
问题解决了admin_enqueue_scripts
动作钩子而不是init
动作钩子。并声明global $post
来从该变量获取帖子ID。