Сцепление функции на боковую панель?

Я ищу способ добавить некоторое содержание к вершине боковой панели, когда это добирается, загрузился.

Я попытался сцепиться на get_sidebar действие, как ссылается здесь, но это, кажется, переопределяет вызов боковой панели и загружает мою функцию вместо этого? Существует ли лучшее решение выполнения этого около создания виджетов? Я хотел бы избежать, чтобы бы, если это возможно, но я не полностью против идеи, рычаг был бы лучшим :)

Вот то, на что похож мой рычаг: add_action('get_sidebar', 'social_links');

Примечание: вызванная функция просто плюется списком ссылок социальных сетей, ничто также не полагает...

(Выполняющий последнюю версию (3.1) на сервере MAMP локально)

5
20.03.2011, 10:18
3 ответа

Загрузка в нижней части боковой панели

На большинстве боковых панелей Вы найдете вызов к wp_meta() рычаг действия, где можно сцепиться в (главным образом нижняя часть) боковой панели.

Загрузитесь сверху своей боковой панели

Функция get_sidebar( $name ) называет боковую панель, которую Вы хотите в своем шаблоне (это позволяет иметь различные боковые панели). Если Вы хотите добавить материал к, например, вершину Вашей боковой панели, Вы свободны использовать внутренний рычаг действия, который выполняет вершину Вашей боковой панели, прямо прежде чем боковая панель будет загружена, можно затем сцепить все в этот вызов.

Пример:

function add_before_my_siderbar( $name ) 
{
    echo "Loaded on top of the {$name}-sidebar";

    // Example that uses the $name of the sidebar as switch/trigger
    'main' === $name AND print "I'm picky and only echo for special sidebars!";
}
add_action( 'get_sidebar', 'add_before_my_siderbar' );

Примечания о темах

get_sidebar- рычаг сверху get_sidebar() функция и триггеры перед файлом боковой панели включены. Это означает, необходимо использовать этот рычаг для добавления содержания прежде и wp_meta() добавить что-то после боковой панели. Если тема использует wp_meta() ранее, чем конец шаблона боковой панели, затем это делает его неправильно.

3
19.02.2020, 22:08
  • 1
    Если Вы хотите проверку sidebar.php (боковая панель по умолчанию), используйте: null === $name"; –  Diana 06.03.2013, 06:57
  • 2
    @Diana isset( $name ) вместо этого, но спасибо за дополнение - ценивший :) РЕДАКТИРОВАНИЕ Ха! Diana Cury. Просто видел Ваш профиль. Хороший для наблюдения Вас здесь также :) –  kaiser 06.03.2013, 12:42
  • 3
    Привет @kaiser, да который работает также, но мой короче ха-ха, у меня было некоторое трудное время, узнавая, как сделать действие только на боковой панели :P –  Diana 07.03.2013, 02:50

get_sidebar рычаг называют на функции, которая получает шаблонный файл боковой панели, таким образом, это не правильный способ пойти.

если Вы не до создания виджета, можно преобразовать функцию в shortcode и использовать ее во встроенном текстовом виджете.

Как? простой, Вы говорите, что Вашу функцию называют social_links затем добавьте:

add_shortcode('SL', 'social_links'); 
// and to make sure Wordpress calls shortcode in sidebars
add_filter('widget_text', 'do_shortcode');

Использование? еще раз простой, добавьте текстовый виджет и поместите [SL] в нем.

Просто удостоверьтесь, что Ваша функция возвращает вывод вместо того, чтобы повторить его.

2
19.02.2020, 22:08
  • 1
    Спасибо за предложение! Короткий код был бы хорошей альтернативой, однако хотя я чувствую, что виджет был бы самым легким использовать, неважно, пользовательский опыт с WordPress. Я буду просто следовать маршрутом виджета, поскольку кажется, что сцепление на боковую панель не является опцией в этой версии.:) Спасибо! –  Cole 21.03.2011, 06:57

Вместо возврата на wp_metahook повторите пример результата:

add_action('wp_meta','my_function')

function my_function(){
   //no return 'hello';
   //try this and it will shows at the top of the sidebar
   echo 'hello';
}

См.: wp_meta зацепляют Кодекс

0
19.02.2020, 22:08

Теги

Похожие вопросы