我正在尝试使用wp\\u localize\\u脚本将一些变量(帖子的作者、帖子的类别和帖子的标题)传递给js文件。
我不能,因为我的生活得到这些正确的。如何获取当前正在查看的帖子的相关数据?
当前代码:
wp_enqueue_script( \'stats\', get_stylesheet_directory_uri() .\'/js/t5-demo.js\' , array( \'jquery\' ), \'1.0.0\', true );
$categories = implode( \', \', wp_list_pluck( get_the_category( get_the_ID() ), \'name\' ) );
$datatoBePassed = array(
\'author\' => get_queried_object()->post_author,
\'category\' => $categories,
\'title\' => single_post_title( \'\', false )
);
wp_localize_script( \'stats\', \'php_vars\', $datatoBePassed );
下面是一个工作原理的例子(只需插入静态数字),所以我相信这与我如何尝试提取正在查看的帖子的变量有关。。
wp_enqueue_script( \'stats\', get_stylesheet_directory_uri() .\'/js/t5-demo.js\' , array( \'jquery\' ), \'1.0.0\', true );
$categories = implode( \', \', wp_list_pluck( get_the_category( get_the_ID() ), \'name\' ) );
$datatoBePassed = array(
\'author\' => \'10\',
\'category\' => \'11\',
\'title\' => \'12\'
);
wp_localize_script( \'stats\', \'php_vars\', $datatoBePassed );
SO网友:Manny Fleurmond
您的代码应该位于操作回调函数中:
function wpse186202_enqueue_scripts(){
wp_enqueue_script( \'stats\', get_stylesheet_directory_uri() .\'/js/t5-demo.js\' , array( \'jquery\' ), \'1.0.0\', true );
$categories = implode( \', \', wp_list_pluck( get_the_category( get_the_ID() ), \'name\' ) );
$datatoBePassed = array(
\'author\' => get_queried_object()->post_author,
\'category\' => $categories,
\'title\' => single_post_title( \'\', false )
);
wp_localize_script( \'stats\', \'php_vars\', $datatoBePassed );
}
add_action( \'wp_enqueue_scripts\', \'wpse186202_enqueue_scripts\' ); //Front end enqueueing
add_action( \'admin_enqueue_scripts\', \'wpse186202_enqueue_scripts\' ); //Admin enqueueing
该操作将在适当的时候调用函数,使其正确排队。选择一个适用于您希望其排队的位置。