我是PHP和WordPress的新手。
我正在使用Types插件来创建我的自定义类型(here处的更多信息)。
这是我的代码:
<?php
$args = array('post_type' => 'project-list');
$myposts = get_posts( $args );
foreach ( $myposts as $post ) :
?>
<span><?php echo $post -> post_title; ?></span>
<ul class="project-list">
<?php
$argsChild = array('orderby' => 'post-order', 'order' => 'ASC');
$mypostsChild = types_child_posts('project', $argsChild);
foreach ( $mypostsChild as $postChild ) :
?>
<li>
<p class="project-cost"><?php echo $postChild -> post_title; ?></p>
<span class="project-name"><?php echo $postChild -> fields['project-name']; ?></span>
<hr />
<p class="project-type"><?php echo $postChild -> fields['project-type']; ?></p>
<hr />
<span class="project-location"><?php echo $postChild -> fields['project-location']; ?></span>
</li>
<?php endforeach; ?>
</ul>
<?php endforeach; ?>
我的期望: 我需要按类型加载项目列表。例如,我需要最终输出看起来像这样。
项目组名称-1
PROJ-1
PROJ-2
PROJ-3
项目组名称-2
PROJ-1
PROJ-2
PROJ-3
我在这里遇到两个问题:
1:我不知道在哪里放置父帖子“ID”,这段代码现在渲染了所有项目列表中的所有项目。我需要为每个项目列表单独加载项目(如上所述)。
问:我怎么能这样做?2:我无法按照他们的订单(自定义字段类型)对帖子进行排序。因此,我注意到代码的以下部分无法正常工作。
$argsChild = array('orderby' => 'post-order', 'order' => 'ASC');
问:我如何根据自定义字段类型对子帖子进行排序,在我的情况下是“后期订单”?
谢谢你们!
答案 0 :(得分:1)
帖子没有任何父母或子女。帖子是在类别下创建的。您应该在类别下创建一些类别和子类别。即。
类别:项目组名称-1
- SUBCATEGORY:pro 1
- SUBCATEGORY:pro 2
CAT:项目组名称-2
- SUBCATEGORY:pro 1
- SUBCATEGORY:pro 2
此外,您已创建自定义帖子类型。根据您的规范,有很多方法可以检索自定义帖子类型的条款。但是,请尝试使用以下代码来理解:
<?php
//list terms in a given taxonomy
$taxonomy = 'project-list';
$tax_terms = get_terms($taxonomy);
?>
<ul>
<?php
foreach ($tax_terms as $tax_term) {
echo '<li>' . '<a href="' . esc_attr(get_term_link($tax_term, $taxonomy)) . '" title="' . sprintf( __( "View all posts in %s" ), $tax_term->name ) . '" ' . '>' . $tax_term->name.'</a></li>';
}
?>
</ul>
详细了解custom post type,terms和taxonomy。阅读此链接,您将获得更多与您的需求相关的代码。这些都会对你有所帮助。
仅供参考:页面有父页面或子页面