Как я могу отфильтровать и добавить содержимое поста / страницы WordPress до сохранения / публикации? - PullRequest
1 голос
/ 28 октября 2010

Я бы хотел отфильтровать содержимое поста и страницы, чтобы добавить теги html к определенному контенту перед сохранением контента в базе данных.

Например, учитывая ключевую фразу "Red Yoga Mats", я бы хотелнравится сканировать содержимое страницы / публикации и заменять первый экземпляр «Red Yoga Mats» на Red Yoga Mats и заменять второй экземпляр на Red Yoga Mats , а третий экземпляр на Red Yoga Mats .

Насколько это может быть сложно?

(Фраза "Red Yoga Mats" является произвольной. Я хотел бы поместить это как динамическую переменную, котораяЯ бы перешел к функции фильтра, которая добавляет содержимое)

Ответы [ 2 ]

1 голос
/ 28 октября 2010

Для этого вы можете использовать фильтр на the_content.

add_filter( 'the_content', 'highlight_red_yoga_mats' );
function highlight_red_yoga_mats($content) {
    // modify $content here
    return $content;
}
0 голосов
/ 28 октября 2010

было бы проще, если вы внесете это изменение в момент, когда сообщение не сохраняется, а отображается (в этом случае используйте взлом фильтра the_content), но если вы действительно хотите внести изменения, когда сообщение будет сохранено, используйте действие взломать save_post. некоторый псевдокод:

add_action('save_post', 'my_func');
    function my_func($post_ID) {
    // retrive content of post based on $post_ID
    // use str_replace to replace things
    // save post again
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...