Мне нужно изменить источник контента страницы и получить его не из БД, а из внешнего файла.Я решил добавить настраиваемое поле «staticfile» на страницу, я хочу изменить источник.Затем я написал мини-плагин и добавил туда фильтр "the_content":
add_filter('the_content', 'static_content');
function static_content($content) {
$custom_fields = get_post_custom();
$my_custom_field = $custom_fields['staticfile'];
$upload_dir = wp_upload_dir();
foreach ($my_custom_field as $value) {
if ($value) {
$file = file_get_contents($upload_dir['basedir'] . '/staticpages/' . $value);
return $file;
}
}
return $content;
}
Он отлично работает, за исключением одной вещи.Html-код, который я получаю на выходе, не фильтруется.Например, шорткоды, добавленные с другими плагинами, не работают.Я пытался написать:
return apply_filters('the_content', $file);
Но он нарушает весь вывод (возможно, он зацикливает код).Есть ли способ изменить источник страницы с применением фильтров?