【发布时间】:2015-09-05 00:00:28
【问题描述】:
我不久前创建了这个网站,使用了一些自定义帖子类型,一切正常,现在我必须添加一个新的自定义帖子类型,并使用这个新的自定义帖子类型和“帖子”帖子类型创建一个循环。
类似这样的:
$args = array (
'post_type' => array( 'post', 'newsletter' ),
'posts_per_page' => -1,
'order' => 'DESC'
);
由于某种原因,这不起作用...
我对其他帖子类型有相同的数组并且工作正常。
$args = array (
'post_type' => array( 'post', 'events' ),
'posts_per_page' => -1,
'order' => 'DESC'
);
现在是奇怪的部分:
如果我有“帖子”-“事件”(事件是旧的自定义帖子类型),它可以工作,显示两种帖子自定义帖子类型, 如果我有'post'-'newsletter'(newsletter 是新的自定义帖子类型)它只显示帖子, 如果我有“事件”-“时事通讯”,它只会显示事件,
如果我创建一个新的自定义帖子类型“newsletter2”, 如果我有 'newsletter'-'newsletter2' 它可以工作,显示两种自定义帖子类型,但如果我有 'post'-'newsletter2' 它只显示 'post'
所以...由于某种原因,旧的自定义帖子类型似乎不适用于新的自定义帖子类型...有什么想法吗???
谢谢!!!
这是 'newsletter' 自定义帖子类型(顺便说一下,我的所有自定义帖子类型都完全相同,只是它们有自己的名称“events”、“people”而不是 newsletter ', '时事通讯2')
function custom_post_newsletter() {
$labels = array(
'name' => __( 'Newsletter' ),
'singular_name' => __( 'New Newsletter' )
);
$args = array(
'labels' => $labels,
'supports' => array( 'title', 'editor', 'thumbnail', ),
'taxonomies' => array( '', 'post_tag' ),
'hierarchical' => false,
'menu_icon' => 'dashicons-format-aside',
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'show_in_nav_menus' => true,
'show_in_admin_bar' => true,
'menu_position' => 7,
'can_export' => true,
'has_archive' => false,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'page',
'rewrite' => array( 'slug' => _x('newsletter', 'URL Slug', 'theTheme')),
);
register_post_type( 'newsletter', $args );
}
add_action( 'init', 'custom_post_newsletter', 0 );
这是循环:
$args = array (
'post_type' => array( 'newsletter', 'post' ),
'posts_per_page' => -1,
'order' => 'DESC',
'post_status' => 'any',
);
$loop = new WP_Query( $args );
if ( $loop->have_posts() ) : while ( $loop->have_posts() ) : $loop->the_post();?>
<li><? the_title(); ?></li> //here only shows post post_type posts.
<?php
// end loop
endwhile;
endif;
wp_reset_query(); ?>
【问题讨论】:
-
请分享您如何注册
newsletter帖子类型的代码。 -
如果
newsletter以外的所有内容都使用相同的方式来注册帖子类型,那么您在某处就会出现命名约定冲突。 -
这不是不工作,是工作但不是与旧的帖子类型..如果我单独显示它可以工作,但如果我尝试用旧的帖子类型显示它不起作用。 ..如果我添加另一个新的自定义帖子类型,它可以工作...... newsletter-newsletter2 它工作正常。
标签: php custom-post-type wordpress