опубликовать ->фильтр содержимого публикации
Я пытаюсь определить, является ли используемое мной регулярное выражение неправильным - или я упускаю здесь что-то основное. Следующее:
add_filter('the_content','wpdu_image_replace');
function wpdu_image_replace($content) {
global $post;
preg_replace( '/<img.*src="(.*?)".*?>/', '<a href="\1">Image file</a>', $post->post_content );
return $content;
}
Следует искать любые <img>
в post->post_content
(содержимое поста) и заменить весь тег на href
, который просто ссылается на файл изображения. В конце концов, то, что я собираюсь с этим сделать, немного сложнее, но я решил начать с основ. Любая помощь будет очень признательна. Спасибо!
1
1 answers
Вы используете preg_replace
неправильно функционируют. Эта функция возвращает замененное содержимое:
add_filter( 'the_content', 'wpdu_image_replace' );
function wpdu_image_replace( $content ) {
return preg_replace( '/<img.*?src="(.*?)".*?>/', '<a href="$1">Image file</a>', $content );
}
Также обратите внимание, что вам не нужно использовать глобальную переменную $post
, потому что содержимое сообщения передается вашей функции в качестве первого аргумента.
0
Author: Eugene Manuilov, 2012-06-14 16:19:45