Wordpress在另一个函数中添加操作

Wordpress在另一个函数中添加操作,wordpress,Wordpress,我想根据shortcode参数向head部分添加一个样式标记。我为styles编写了一个函数,并希望在一个短代码函数中调用它的add\u动作 但是,样式不会添加到头部。如果我在函数外部调用add_操作,它将成功工作。 请告诉我如何在php函数中调用语句“add_action”,以及如何向函数发送参数以调用add_action 这是我的代码: function ag_appearance( $year ){ ?> <style type="text/css"> /*Som

我想根据shortcode参数向head部分添加一个样式标记。我为styles编写了一个函数,并希望在一个短代码函数中调用它的
add\u动作

但是,样式不会添加到头部。如果我在函数外部调用add_操作,它将成功工作。 请告诉我如何在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 */
}
function ag_外观(年){
?>
/*这里有些风格*/

我建议创建一个CSS文件,其中包含要添加到标题中的样式(例如,
appearance.CSS
),并将其放置在主题文件夹中,以便您知道它在哪里(我通常使用
/CSS
表示样式)。然后在调用包含函数时,使用设置标题中的样式。类似于这样:

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 */
}
默认情况下,WordPress中的排队样式通过
wp\u head()
放置在头部,脚本放置在
wp\u footer()
放置的任何位置,通常位于
标记之前


您还可以使用来提取javascript文件。

这实际上以前有人问过。您可以在这里找到:如果您费心阅读问题,您就会知道您的答案是100%无关的。