所以我是一个初学者,试图制作一个自定义主题。在一个页面,我想有一个画廊。上传的图片,画廊都很好。
当我查看页面时,它只输出短代码:
[gallery orderby =“post_date”]
我的page.php文件基本上有:
<?php $content = get_page( $page_id ) ?>
<div id='content' class='shadow'>
<div id='innercontent'>
<!---page title-->
<?php echo "<h1>".$content->post_title."</h1><br>" ; ?>
<?php echo $content->post_content ?>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
我真的不明白如何正确显示,任何指针都会非常感激。干杯,马特
答案 0 :(得分:1)
get_page返回原始页面数据。有几种方法可以做你想要的:
BAD WAY:
<?php $content = get_page( $page_id ) ?>
<div id='content' class='shadow'>
<div id='innercontent'>
<!---page title-->
<?php echo "<h1>".$content->post_title."</h1><br>" ; ?>
<?php echo do_shortcode($content->post_content); ?>
</div>
</div>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
do_shortcode()呈现在给定字符串中找到的所有已注册的短代码。在这种情况下,您的页面内容将在写入文档之前呈现所有短代码。我说这是“糟糕”的方式,只是因为它不遵循通常的Wordpress格式。这导致我们:
更好的方式:
<?php if(have_posts()) : while(have_posts()) : the_post(); ?>
<div id='content' class='shadow'>
<div id='innercontent'>
<!---page title-->
<h1><?php the_title(); ?></h1><br>
<?php the_content(); ?>
</div>
</div>
<?php endwhile;endif; ?>
<?php get_sidebar(); ?>
<?php get_footer(); ?>
这就是所谓的“The Loop”。它几乎是所有Wordpress主题检索所有帖子或页面数据的标准,也是对数据库运行查询的标准。
我建议了解它,以及运行Wordpress查询以使用WP Query修改循环。这是进入一个更复杂的Wordpress领域,但它将帮助你在longrun中找出如何收集你想要在主题中检索的所有帖子和页面,这些帖子和页面不是由Wordpress的全局变量提供的。 / p> 祝你好运。