Здравствуйте, я пишу функцию, чтобы изменить содержимое сообщения и дополнительную информацию к нему. Но при этом он не загружает сайт и генерирует ошибку внутреннего сервера 500. Вот мой код, который я использовал для этого крючка.Wordpress add_filter делает ошибку 500
add_filter("the_content","add_related_pics",1);
function add_related_pics($content){
$pics = "";
$pics.= '<ul>';
$tag = get_post_meta(get_the_ID(), 'highlight-tag', true);
$original_query = $wp_query;
$wp_query = null;
$args=array('posts_per_page'=>5, 'tag' => $tag,'orderby' => 'rand');
$wp_query = new WP_Query($args);
if (have_posts()) :
while (have_posts()) : the_post();
$pics.= '<li>';
preg_match('@<img.+src="(.*)".*>@Uims', get_the_content(), $matches);
$src = $matches[1];
$pics.='<a href="'.get_permalink().'"><img src="'.$src.'" height="50" width="50" /></a>';
$pics.= '</li>';
endwhile;
endif;
$wp_query = null;
$wp_query = $original_query;
wp_reset_postdata();
$pics.='</ul>';
return $content.$pics;
}
Может кто-нибудь указать, что с этим кодом не совпадает?
удалить все и попробовать одну функцию в то время, чтобы точно определить, Что проблема. например. сначала возвращайте только $ content, а не делайте что-нибудь еще, посмотрите, не ошибаются ли ошибки, попробуйте wp_query с preg_match и т. д. и т. д. и т. д. более мелкие шаги, тем лучше. – kennypu
Уже сделал это, получив ошибку в цикле в моем скрипте. –