2015-01-06 6 views
0

Я использую тему wordpress, которая имеет свою собственную фреймворк, которая основана на структуре сокращения, я думаю. Я изменяю эту тему, используя дочернюю тему. Я хочу добавить к Опции темы в интерфейсе, и я нашел функцию в файлах родительской темы, кажется, именно то, что мне нужно:Wordpress - добавление к параметрам темы Redux с использованием дочерней темы

/* 
* 
* Custom function for filtering the sections array. Good for child themes to override or add to the sections. 
* Simply include this function in the child themes functions.php file. 
* 
* NOTE: the defined constansts for URLs, and directories will NOT be available at this point in a child theme, 
* so you must use get_template_directory_uri() if you want to use any of the built in icons 
* 
*/ 
function add_another_section($sections){ 
    //$sections = array(); 
    $sections[] = array(
     'title' => __('A Section added by hook', 'swift-framework-admin'), 
     'desc' => __('<p class="description">This is a section created by adding a filter to the sections array. Can be used by child themes to add/remove sections from the options.</p>', 'swift-framework-admin'), 
     // Redux ships with the glyphicons free icon pack, included in the options folder. 
     // Feel free to use them, add your own icons, or leave this blank for the default. 
     'icon' => trailingslashit(get_template_directory_uri()) . 'options/img/icons/glyphicons_062_attach.png', 
     // Leave this as a blank section, no options just some intro text set above. 
     'fields' => array() 
    ); 

    return $sections; 
} 
//add_filter('redux-opts-sections-twenty_eleven', 'add_another_section'); 

Я добавил эту функцию в функцию моего ребенка темы. php и раскомментировал add_filter. Однако это не работает, и новый раздел не добавлен.

Я наткнулся на это обсуждение elsewhere, в котором предлагается изменить имя функции (я получал ту же ошибку, о которой упоминалось там). Я сделал это, и он все равно не сработает.

Вот что у меня в детской теме functions.php

function add_another_section_bl($sections){ 
    $sections = array(); 
    $sections[] = array(
     'title' => __('A Section added by hook', 'swift-framework-admin'), 
     'desc' => __('<p class="description">This is a section created by adding a filter to the sections array. Can be used by child themes to add/remove sections from the options.</p>', 'swift-framework-admin'), 
     // Redux ships with the glyphicons free icon pack, included in the options folder. 
     // Feel free to use them, add your own icons, or leave this blank for the default. 
     'icon' => trailingslashit(get_template_directory_uri()) . 'options/img/icons/glyphicons_062_attach.png', 
     // Leave this as a blank section, no options just some intro text set above. 
     'fields' => array() 
    ); 

    return $sections; 
} 
add_filter('redux-opts-sections-twenty_eleven', 'add_another_section_bl'); 

Я не был уверен, что если имя фильтра «перевождите-КЛЮЧ-секция-twenty_eleven» нуждается в редактировании, как он упоминает двадцать одиннадцать тему , Я попробовал это с разными названиями тем в конце, а не с двадцатью, и это не имело никакого эффекта.

Любая помощь была бы принята с благодарностью! На стороне заметки я смог выполнить добавление новых параметров в параметры темы, скопировав по всей фреймворковой папке в мою дочернюю тему и определяя путь к структуре в функциях child.fp. Я просто почувствовал, что для этого нужно быть намного более гладким, более аккуратным способом, и я думал, что эта функция звучит идеально.

Большое спасибо.

ответ

6

Ведущий разработчик Redux Framework здесь. Это решение работает, только если вы используете Redux Framework 3.1+. Если у вас установлена ​​более старая версия, установите плагин Redux Framework, и он переопределит версию внутри вашей темы.

Сначала перейдите к текущей панели параметров. Откройте консоль javascript (используйте chrome или firefox) и введите: redux.args.opt_name. Это будет означать имя. Понял и вставить его в эту функцию заменяющего OPT_NAME с именем, которое было echo'd из:

function add_another_section_bl($sections){ 
    $sections = array(); // Delete this if you want to keep original sections! 
    $sections[] = array(
     'title' => __('A Section added by hook', 'swift-framework-admin'), 
     'desc' => __('<p class="description">This is a section created by adding a filter to the sections array. Can be used by child themes to add/remove sections from the options.</p>', 'swift-framework-admin'), 
     // Redux ships with the glyphicons free icon pack, included in the options folder. 
     // Feel free to use them, add your own icons, or leave this blank for the default. 
     'icon' => trailingslashit(get_template_directory_uri()) . 'options/img/icons/glyphicons_062_attach.png', 
     // Leave this as a blank section, no options just some intro text set above. 
     'fields' => array() 
    ); 

    return $sections; 
} 
// In this example OPT_NAME is the returned opt_name. 
add_filter("redux/options/OPT_NAME/sections", 'add_another_section_bl'); 

Удачи!

+0

Благодарим за ответ. Это было просто имя фильтра, как вы там предложили. Я получил правильное имя фильтра из темы dev, и теперь он работает. Еще раз спасибо! –

+0

Добро пожаловать. – Dovy

+0

Привет, Дови, я попробовал вашу функцию, но, похоже, заменил все разделы родительской темы на эту. можно ли сохранить все варианты родительской темы и добавить новый раздел из детской темы? –

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