通过快捷码追加样式表

时间:2011-05-17 作者:greenbandit

想知道如何通过shortcode将样式表添加到wp\\u head部分,因为shortcode是在wp\\u head之后解析的,所以我听说了输出缓冲,但我不确定。

有什么想法吗?

3 个回复
SO网友:Bainternet

这是我经常使用的一个方便的函数,它基于the_posts

function check_for_shortcode($posts) {
    if ( empty($posts) )
        return $posts;

    $flag = false;

    foreach ($posts as $post) {
        if ( stripos($post->post_content, \'[YOUR_SHORTCODE_HERE\') )
            $flag = true;
            break;
        }

    if ($flag){
        //add scripts and styles here eg:
        //wp_enqueue_script
        //wp_enqueue_style
    }
    return $posts;
}
add_action(\'the_posts\', \'check_for_shortcode\');
更改YOUR_SHORTCODE_HERE 添加到您的快捷码标记,并在其显示的位置添加您的样式

//add scripts and styles here

SO网友:Matthew Muro

如果您通过wp\\u head添加样式表,您的样式将得到很好的应用。

这适用于我的一个插件:

add_action( \'wp_head\', \'my_custom_css\' );

function my_custom_css(){
    echo apply_filters( \'my_custom_css\', \'<link rel="stylesheet" href="\' . plugins_url( \'css/my-custom-css.css\', __FILE__ ) . \'" type="text/css" />\' );
    }
要让用户覆盖您的CSS文件并使用其样式表中的样式,请让他们将以下内容放入其函数中。php文件:

add_filter( \'my_custom_css\', \'__return_false\' );
通过这种方式,您和用户可以缓存文件,而无需系统地尝试确定短代码是否在页面上。此外,您还可以通过让用户重写您的CSS以支持他们自己的CSS来将控制权还给用户。

SO网友:Dan Gayle

我使用YepNope脚本加载程序加载所有外部CSS/JS。在您的插件中,检查是否已运行短代码,然后设置全局变量或类变量(取决于实现。我建议使用类)。如果该变量为true,则将脚本加载器添加到wp\\u页脚。

当站点加载时,脚本加载器将自动获取您的CSS/JS并将它们附加到站点的标题中。

结束

相关推荐

Sort plugins by rating

当我想安装一个新的Wordpress插件时,我会搜索我想要的插件,并收到一个结果列表。有没有办法按评级或名称对结果进行排序?如果没有,它将是Wordpress的一个有用的补充。