在我写的插件中,我想将页面/帖子特定的css文件(在html head
中)排入网页上的每个页面/帖子。
例如:如果页面加载了44和56,我需要:
<link rel='stylesheet' id='post-44-css' href='http://test/wp-content/custom/post-44.css?ver=4.0.1' type='text/css' media='all' />
<link rel='stylesheet' id='post-56-css' href='http://test/wp-content/custom/post-56.css?ver=4.0.1' type='text/css' media='all' />
我尝试使用the_post
挂钩,但它会多次调用,而某些(&#34;迟到&#34;)调用会导致css文件添加到body
的底部。< / p>
function_enqueuing_css($post) {
...
wp_enqueue_style($ref, $url);
...
}
add_action( 'the_post', 'function_enqueuing_css' );
答案 0 :(得分:0)
使用返工功能更新了答案。
我已使用wp_enqueue_scripts
操作并包含单个帖子/页面的条件。查看相应的codex页面以获取更多信息。
Action reference和is_single
reference。
现在您的代码可能如下所示:
add_action('wp_enqueue_scripts', 'function_enqueuing_css');
function function_enqueuing_css() {
global $wp_query;
$id = $wp_query->post->ID;
if(is_single()) {
wp_enqueue_style( 'post-'.$id, 'path-to-file-'.$id.'.css', array(), '', 'all');
}
}
同样的方法也可以用于js文件。