2014-01-15 5 views
3

Я хочу добавить тег стиля в раздел главы в соответствии с параметрами короткого кода. Я написал функцию для стилей и хочу называть ее add_action функцией короткого кода.Wordpress add_action внутри другой функции

Однако стиль не добавляется в голову. Если я вызываю add_action вне функции, он работает успешно. Пожалуйста, дайте мне знать, как я могу вызвать выражение «add_action» внутри php-функции и как я могу отправить параметры функции для вызова 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

Я хотел бы предложить создать файл CSS, содержащий стиль, который вы хотите добавить к заголовку (appearance.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% не имеет значения. –

Смежные вопросы