2014-01-15 36 views
3

我想根据shortcode参数在头部添加样式标签。我为样式编写了一个函数,并且想要在短代码函数中调用它的add_actionWordpress 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

这实际上是之前问过的。你可以在这里找到它:http://wordpress.stackexchange.com/questions/46167/add-action-in-a-function-is-it-possible –

回答

-1

我建议创建包含您要添加到页眉(appearance.css为例)风格的CSS文件,并放置在主题文件夹,所以你知道它在哪里是(我通常使用/css作为样式)。然后使用wp_enqueue_style在包含函数被调用时设置标题中的样式。的排序是这样的:

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_head()放置在头部和脚本放在任何你有wp_footer()放置,通常是</body>标记之前。

您还可以使用wp_enqueue_script来拉你的JavaScript文件。

+0

如果你一直懒得读这个问题,你会知道你的答案是100%无关的。 –

相关问题