Фильтр the_content не возвращает HTML-код, его заменитель? - PullRequest
0 голосов
/ 03 июля 2010

Я работал над плагином WordPress и обнаружил, что при использовании ловушки фильтра _content он передает содержимое сообщения функции в качестве параметра, но в текстовом формате.Я хочу получить HTML-содержание поста, каким-либо образом добиться этого?

Спасибо - Kapeel

Ответы [ 2 ]

2 голосов
/ 09 июля 2010

Наконец, после долгих поисков я решил это.

Как сказал TheDeadMedic: «Вы уверены, что содержание публикации действительно содержит HTML? Не забудьте, что WordPress будет добавлять абзацы на лету и не обязательно будет сохранять их в БД».

WordPress использует функцию под названием wpautop();

Я только что использовал это с get_the_content();, и я заработал.

Вот пример того, как вы можете достичь этого -

function myPluginReplaceContent() {
    $content    =   wpautop(get_the_content());
    $content    .=  myPluginGetData(); // do whatever you want to - here
    return $content;
}

РЕДАКТИРОВАТЬ:

Я обнаружил, что эта функция не будет применять фильтры других плагинов. Следующая функция не вызовет никаких проблем.

function myPluginReplaceContent($thecontent) {      
    $thecontent .=  myPluginGetData(); // do whatever you want to - here
    return $content;
}
1 голос
/ 04 июля 2010

У вас установлены плагины или вы фильтруете the_content в другом месте?

По умолчанию содержимое, пропущенное через фильтр the_content, в значительной степени соответствует содержимому базы данных, за исключением небольшого количества синтаксического анализа (обработка <<code>!-- more --> тизеров и т. Д.).

Вы уверены, что содержание публикации действительно содержит HTML? Не забывайте, что WordPress будет добавлять абзацы на лету и не обязательно будет хранить их в БД.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...