2015-05-26 2 views
2

У меня были проблемы с функциями в дочерней теме Aaron в WordPress. У меня была проблема с моей проблемой в Overwrite parent functions in child function.php WordPress, но я не мог заставить логотип работать как больший размер. Я устранил много кода, чтобы сузить и найти проблему. И я обнаружил, что функция в дочерней теме не появилась в WordPress. Это функция:Функция не отображается в дочерней теме WordPress

/* Site Logo */ 
function add_site_icon_support() { 
    $args = array(
    'header-text' => array(
     'Site Title Here', 
     'Your site description goes here.', 
    ), 
    'size' => 'medium', 
); 
    add_theme_support('site-logo', $args); 
} 
add_action('after_setup_theme', 'add_site_icon_support'); 

Я проверил это, добавив его в functions.php в родительской теме, и она работает. Поэтому мне было интересно, как заставить его работать в детской теме?

Это как-то связано с этой функцией в родительской теме?

function aaron_setup() { 
    /* 
    * Make theme available for translation. 
    * Translations can be filed in the /languages/ directory. 
    * If you're building a theme based on aaron, use a find and replace 
    * to change 'aaron' to the name of your theme in all the template files 
    */ 
    load_theme_textdomain('aaron', get_template_directory() . '/languages'); 
    // Add default posts and comments RSS feed links to head. 
    add_theme_support('automatic-feed-links'); 
    add_theme_support('woocommerce'); 
    add_theme_support('jetpack-responsive-videos'); 
    add_editor_style(); 
    add_theme_support('post-thumbnails'); 
    add_image_size('aaron-featured-posts-thumb', 360, 300); 
    add_theme_support('title-tag'); 
    register_nav_menus(array(
    'header' => __('Primary Menu', 'aaron'), 
    'social' => __('Social Menu', 'aaron'), 
)); 
    /* 
    * Switch default core markup for search form, comment form, and comments 
    * to output valid HTML5. 
    */ 
    add_theme_support('html5', array('search-form', 'comment-form', 'comment-list', 'gallery', 'caption')); 
} 
endif; // aaron_setup 
add_action('after_setup_theme', 'aaron_setup'); 

Поскольку оба имеют одинаковые крючки.

+0

Попробуйте иметь более низкий приоритет в 'after_setup_theme' крюке. – Nilambar

+0

Если правильная функция существует в родительской теме, а не в дочерней теме, она должна автоматически работать. Вероятно, у вас есть * другая * функция в вашей дочерней теме, которая переопределяет родительскую функцию и не должна существовать вообще. – rnevius

+0

@dda, спасибо за редактирование сообщения. –

ответ

2

Вам нужно запустить свой крючок позже родительской темы. Вы должны помнить, что сначала загружается детская тема, а затем - родительская тема.

Чтобы ваша функция работала, вам нужен более низкий приоритет, который является более высоким числом. Вы можете попробовать

add_action('after_setup_theme', 'add_site_icon_support', 11); 
+0

Спасибо! Оно работает. Я смотрел по всему Интернету и просто не мог найти правильный ответ ... Я прочитал несколько статей о загрузке темы для детей, но ничего о приоритетах ... только 10 - это номер по умолчанию или что-то в этом роде. .. –

+0

Мое удовольствие, рад, что это сработало :-) –

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