短代码是WordPress常用的功能,虽然目前已被区块所取代,但还是普遍应用中。有些短代码会用到JS脚本,但又不想全局加载,可以用下面的代码实现,添加短代码时仅在当前页面加载JS脚本。文章源自知更鸟-https://zmingcx.com/determining-wordpress-shortcode-loading-scripts.html
文章源自知更鸟-https://zmingcx.com/determining-wordpress-shortcode-loading-scripts.html文章源自知更鸟-https://zmingcx.com/determining-wordpress-shortcode-loading-scripts.html
function zm_has_shortcode( $posts ) { if ( empty($posts) ) return $posts; $found = false; foreach ( $posts as $post ) { if ( stripos($post->post_content, '[my_shortcode]') ) $found = true; break; } if ( $found ) { wp_register_script( 'my_script', get_template_directory_uri() . '/js/my_script.js', array(), version, false ); wp_enqueue_script('my_script'); } return $posts; } add_action('the_posts', 'zm_has_shortcode');
以此类推,也可以加载特定的样式。文章源自知更鸟-https://zmingcx.com/determining-wordpress-shortcode-loading-scripts.html
文章源自知更鸟-https://zmingcx.com/determining-wordpress-shortcode-loading-scripts.html
文章源自知更鸟-https://zmingcx.com/determining-wordpress-shortcode-loading-scripts.html

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
2022年1月30日 09点21分 1F
学习了!!
2022年3月18日 22点38分 2F
有点草率了,换成preg_match更好吧,毕竟很多短代码带参数的。