将自定义内容类型引入页面模板

时间:2012-04-05 作者:Romes

我到处寻找解决方案,但还没有找到。情况是这样的。我已经使用插件创建了一个自定义内容类型Custom Content Type Manager 现在需要在我在WP中创建的页面中使用这些自定义帖子类型。

因此,我创建了一个名为“照片”的页面,并使用一个模板php文件来配置页面的布局/样式。插件为我生成了一个示例模板,以便获取我输入的自定义字段。它看起来像这样:

get_header(); ?>
<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
    <h1><?php the_title(); ?></h1>
        <?php the_content(); ?>
        <?php the_author(); ?>

        <h2>Custom Fields</h2>  
        <strong>Image:</strong> <?php list($src, $w, $h) = get_custom_field(\'image:to_image_array\');?>

        <img src="<?php print $src; ?>" height="<?php print $h; ?>" width="<?php print $w ?>" /><br />

<?php endwhile; // end of the loop. ?>

The Problem:

当我使用“the\\u content();”时和其他php方法一样,它们从名为“照片”的页面中提取内容,而不是从使用此插件创建的自定义内容类型中提取内容。

是否有我可以重写/重写的内容,以便;是否显示自定义内容类型而不是页面内容?除了创建WP页面和使用自定义模板之外,还有更好的方法吗?我对整个WP编程业务都是新手。。

2 个回复
最合适的回答,由SO网友:developdaly 整理而成

代码中的循环将自动从当前页面ID(即照片)中提取数据。您必须定义要查找的数据的查询。确保更换photo 不管你的帖子类型是什么。

看见http://codex.wordpress.org/Class_Reference/WP_Query 对于其他参数,除了post_type.

<?php

$query = new WP_Query( array( \'post_type\' => \'photo\' ) );

if ( $query->have_posts() ) :

    while ( $query->have_posts() ) : $query->the_post(); ?>

             <?php the_title(); ?>

    <?php endwhile;

endif;

?>

SO网友:Adam Rice

我认为这里发生的事情是,WP注意到您的URL以“照片”结尾,因此它正在基于此构造查询。你不会想要的。您需要设置自己的查询。This thread 应该让您了解如何构造查询。

结束

相关推荐

Querying both pages and posts

我正在为一个客户构建一个“降临日历”,他们希望以特定的顺序将特定页面和出现在首页的自定义帖子组合在一起。需要检索的内容包括标题、摘录(或内容最多)、永久链接、特色图像和自定义字段。。。从数据库中检索这些内容的最佳方法是什么?自定义SQL查询?某种步行者?复杂的菜单?