如何检查是否正在Widget或POST中执行快捷码

时间:2016-12-28 作者:SDahal

我正在使用WordPress短代码为我的网站创建一个功能。短代码是显示包含特定数据的HTML表。

我已经启用了小部件/侧栏的短代码,它在小部件中运行良好。

唯一的问题是我的设计师创造了两种不同的风格;一个用于post,另一个用于widget。有没有办法知道代码是在侧边栏还是在post中执行的?

例如:

if(is_widget()){
//add stylesheet for widget here
}
else{
//add stylesheet for post here
}
谢谢你

1 个回复
SO网友:Qaisar Feroz

使用条件标记in_the_loop 在您的shortcode函数中可能会达到此目的。

if( in_the_loop() ) {
    //add stylesheet for post/page here...
} else {
    //add stylesheet for widget here...
}

相关推荐

SHORTCODE_ATTS()中的$ATTS参数是什么?

这个WordPress developers reference page for shortcode_atts() 国家:$atts(array)(必选)用户在shortcode标记中定义的属性。但我不理解这个定义。例如,在WP Frontend Profile 插件:$atts = shortcode_atts( [ \'role\' => \'\', ], $atts ); 据我所知,shortcode\