Я работаю над одностраничным сайтом, где я показываю контент с других страниц на этой единственной странице. Для этого я добавил функцию, которая позволяет мне использовать <?php echo getPageContent(ID); ?>
, это работает нормально, за исключением случаев, когда мне нужно отобразить контент из шорткода, вместо этого он просто возвращает код в виде текста. Любая идея обойти?
Использование коротких кодов WordPress, когда ‹?php echo getPageContent(); ?› используется для отображения содержимого
Ответы (2)
Чтобы получить правильное форматирование и заменить шорткоды, вам нужно применить фильтры, подключенные к тегу the_content
, примерно так:
echo apply_filters('the_content', getPageContent(ID));
person
Richard M
schedule
26.05.2011
Есть ли причина, по которой вы выбрали эту стратегию для отображения контента? Использование чего-то более похожего на обычную систему разработки страниц WordPress и систему шаблонов, скорее всего, решит вашу проблему. Я рекомендую использовать комбинацию get_posts() и setup_postdata().
Из документов WordPress:
<?php
global $post;
$tmp_post = $post;
$args = array( 'numberposts' => 5, 'offset'=> 1, 'category' => 1 );
$myposts = get_posts( $args );
foreach( $myposts as $post ) : setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
<?php $post = $tmp_post;
?>
См.: http://codex.wordpress.org/Template_Tags/get_posts.
person
spuriousdata
schedule
26.05.2011