Как я могу получить те же результаты, что и apply_filters ('the_content) без использования этого тега / фильтра? - PullRequest
0 голосов
/ 21 марта 2012

У меня есть плагин, который я опишу как CMS lite. Я создаю пользовательский тип сообщения. Я храню контент в этих записях. Затем я использую шорткод для вставки контента из пользовательских сообщений в мои основные сообщения. Таким образом, я могу вставить один и тот же короткий код в нескольких рег. сообщения, но обновлять их нужно только один раз в пользовательских сообщениях.

Для того, чтобы содержимое пользовательского типа записи поддерживало его WYSIWYG-сущность (? Hehe), я использую apply_filters ('the_content', ...) для этого содержимого. Duh? Правильно?

Проблема в том, что, если есть плагин (например, Sociable), который добавляет к концу содержимого, apply_filters ('the_content',) также добавляет этот материал в мой пользовательский тип записей. Излишне говорить, что я не нуждаюсь - или не хочу - несколько экземпляров социальных сетей делятся слишком значками в моей области контента:)

Я хотел разметку / форматирование apply_filters ('the_content' ...), но я не могу пройти через это без всяких мерзостей.

Помощь

1 Ответ

0 голосов
/ 08 мая 2012

Хороший вопрос. Я нашел два способа сделать это:

1) Напишите свою собственную функцию. Это особенно полезно, если вы пытаетесь проанализировать блок текста в скрипте, который загружается вне среды WordPress. Я нашел это полезным в этой ситуации:

function nl2p($str) {
    $arr=explode("\n",$str);

    for($i=0;$i<count($arr);$i++) {
        if(strlen(trim($arr[$i]))>0)
            $out.='<p>'.trim($arr[$i]).'</p>';
    }
    return $out;
}

2) (И я знаю, что вы уже наткнулись на это сами), вы можете использовать <?php echo wpautop($post->post_content); ?> для создания своих абзацев.

Надеюсь, это поможет !!

...