Функция Wordpress возвращает белый экран в плагине - PullRequest
1 голос
/ 27 июня 2010

Я новичок в написании плагинов для Wordpress, поэтому для начала я пытаюсь создать простой, который просто изменяет строку.Я написал сценарий некоторое время назад, и знаю, что он работает.Но чтобы использовать его для Wordpress, я хочу применить его к заголовкам постов.Когда я заменил строку функцией get_the_title (), он возвращает белый экран.Я сократил его до:

function display_title() {
echo get_the_title();
}

add_action('the_title', 'display_title');

Это по-прежнему возвращает белый экран.Так что я считаю, что это должна быть функция get_the_title ().Может кто-нибудь объяснить мне, почему это не работает, и, возможно, другой способ получить строку заголовка?

Ответы [ 2 ]

4 голосов
/ 28 июня 2010

Как говорит Джон, the_title - это фильтр, а не ловушка действий, хотя ваша функция будет вызываться независимо от того, зарегистрировали ли вы ее с помощью add_filter или add_action.

Ваша проблема в том, что с фильтрами ваша функция должна возвращать значение (обычно это измененная версия переданного аргумента). Итак, чтобы изменить заголовок с помощью этого фильтра, вы должны сделать что-то вроде этого:

function display_title($title) {
    $title .= '!'; // Do something with the title string here
    return $title;
}

add_filter('the_title', 'display_title');
1 голос
/ 27 июня 2010

Ну, с одной стороны, the_title - это не действие, это фильтр. Так что эта функция никогда не срабатывает. Так что это не ошибка этой функции, это, вероятно, что-то еще. Я бы посоветовал прочитать API-интерфейс плагина и узнать разницу между действиями и фильтрами. Фильтры специально разработаны, чтобы делать то, что вы хотите, простым способом:

http://codex.wordpress.org/Plugin_API/

...