我想根据短代码参数在head部分添加样式标记。我为样式编写了一个函数,并希望在短代码函数中调用它add_action
。
但是,样式不会添加到头部。如果我在函数外部调用add_action,它会成功运行。 请告诉我如何在php函数中调用语句“add_action”,以及如何将参数发送到函数以调用add_action。
这是我的代码:
function ag_appearance( $year ){
?>
<style type="text/css">
/*Some style here*/
</style>
<?php
}
add_action( 'wp_head', 'ag_appearance' ); /* this is working */
function dp_agenda( $atts, $content = null ){
extract( shortcode_atts( array(
'year' => '',
'day' => '',
'summit' => '',
'complexity' => '',
'certification' => '',
'event' => '',
'make' => ''
), $atts ) );
add_action( 'wp_head', 'ag_appearance' );
/* this is not working, while i want to call here by $year parameter */
}
答案 0 :(得分:0)
我建议创建一个CSS文件,其中包含要添加到标题的样式(例如appearance.css
)并将其放在主题文件夹中以便知道它在哪里(我通常使用{{1}对于风格)。然后使用wp_enqueue_style在调用包含函数时设置标题中的样式。有点像这样:
/css
默认情况下,WordPress中的排队样式会通过function dp_agenda( $atts, $content = null ){
extract( shortcode_atts( array(
'year' => '',
'day' => '',
'summit' => '',
'complexity' => '',
'certification' => '',
'event' => '',
'make' => ''
), $atts ) );
wp_enqueue_style('appearance',get_stylesheet_directory_uri().'/css/appearance.css');
/* this is not working, while i want to call here by $year parameter */
}
放置在头部,并且脚本会放置在wp_head()
放置的任何位置,通常位于wp_footer()
标记之前。
您还可以使用wp_enqueue_script来提取您的javascript文件。