我试图在帖子包含特定文本时加载CSS/JS。让我们说当字符串table
当前,加载其他CSS/JS。
has_shortcode
很好,但不适用于非短码字符串。使用has_term
是可能的,但很乏味。
下面是has_shortcode
参考功能:
function loadmyshortcode() {
global $post;
if( is_a( $post, \'WP_Post\' ) && has_shortcode( $post->post_content, \'my-shortcode\') ) {
wp_enqueue_script( \'idnamehere\', get_template_directory_uri() . \'/js/my-shortcode.js\', array(), \'\', true );
}
}
add_action( \'wp_enqueue_scripts\', \'loadmyshortcode\');
最合适的回答,由SO网友:swissspidy 整理而成
这确实是一个基本的PHP问题。使用strpos()
. 示例:
if ( false !== strpos( $post->post_content, \'foo\' ) ) {
wp_enqueue_script();
}
另外,我建议你不要
wp_enqueue_scripts()
但是后来的钩子,例如。
the_content
然后在页脚中加载JavaScript。这在任何情况下都是最有效的,因为
wp_enqueue_scripts
和
wp_head
在加载/显示帖子内容之前调用。
看见How to add stylesheets only to pages with specific shortcode? 对于这个问题的解释,这里基本上是重复的。