在小怪物那闲逛,进到了木木那里看到了篇《按需加载 Shortcode 相关脚本文件》,其代码实现shortcode按需加载。 文章说到是参照水煮鱼还有一位外国朋友所写内容,通过判断文章是否存在短代码来,确实是可以实现这个目的(按需加载)。 虽然说Wordpress官方文
在小怪物那闲逛,进到了木木那里看到了篇《按需加载 Shortcode 相关脚本文件》,其代码实现shortcode按需加载。
文章说到是参照水煮鱼还有一位外国朋友所写内容,通过判断文章是否存在短代码来,确实是可以实现这个目的(按需加载)。
虽然说Wordpress官方文档没有很详细的谈到这方面,但官方shortcode代码已经告诉我们一个简单实现办法。并且性能化。
那么一个标准的shortcode按需加载是如何实现的呢?我简单的写了下,如下所示:
<?php /** * 《一个简单的shortcode按需加载典例》 * 这是一个使用类为加载方式的短代码示例。 * 如果你直接是以php函数注册的shortcode,可以直接通过 * static $instances = 0; * $instances++; * 来达到相同目的。 * kn007 写于2014年9月底。 */ class example { protected $instance = 0; /** * Init - Register shortcodes */ public function init() { add_shortcode( 'example', array( $this, 'example_shortcode' ) ); } /** * Callback for the [example] shortcode */ public function example_shortcode( $atts = array(), $content = '' ) { $this->instance++; $atts = shortcode_atts( array( 'test' => '' ), $atts, 'example_shortcode' ); // something... ( 1 === $this->instance ) && wp_enqueue_xxx or call_function or do_action; // something... return something; } }
通过定义一个变量,当shortcode被调用时,变量变为True,会自动加载相关js、css,或其他相关需要调用的。
比起木木文章中,判断post是否存在短代码(has_shortcode),智能化,性能化不少。
貌似没什么说到这个,所以贡献出来。
详细效果见《《恶作剧之吻》原声大碟》,和其他专辑。
可以外链的感觉真好。
这篇文章算是9月底的最后一篇文章吧。
bong II挂了,整个人都不好了。。擦。
转载请注明转自:kn007的个人博客的《[官方]按需加载 Shortcode 相关脚本、样式》