我有一个wordpress网站。在single.php
下,我有以下body
标记
<body <?php body_class(); ?> onLoad="func(<?php echo $thePostID?>);" >
在网上阅读文章让我确信避免使用内联CSS和内联javascipt。所以我对我的网站进行了重组,以便样式和脚本现在包含在外部文件中。除了这行代码,因为它确实需要the post id
,我不知道如何在single.php之外检索它。
您的平常帮助表示赞赏。
答案 0 :(得分:5)
使用属性:
<body data-post-id="<?php echo $thePostID?>">
然后你可以写
var postId = document.body.getAttribute('data-post-id');
答案 1 :(得分:1)
只需在脚本或document.onload中调用它......
<script>
$(document).ready(function(){
(function(){
<?php echo $thePostID?; ?>
})();
});
</script>
在脚本标记内编写javascript是完全可以接受的。即使它不在外部文件中,它也在你的html之外。
答案 2 :(得分:0)
我建议使用wp_localize_script
function theme_localize_post_id(){
global $post;
wp_register_script( 'your_script',... );
wp_localize_script( 'your_script', 'the_name_for_your_js_object' , array( 'post_id'=>$post->ID ) );
}
add_action( 'wp', 'theme_localize_post_id' );
然后在你的脚本中简单使用。
$(document).ready(function(){
functionName(post_id);
});