循环使用自定义帖子类型


Looping a custom post type

我是wordpress的新手。我想创建一个新的自定义帖子类型,并生成了这段代码,它很有效。

<?
// Register Custom Post Type
function berita_post_type() {
$labels = array(
    'name'                => _x( 'berita-internal', 'Post Type General Name', 'text_domain' ),
    'singular_name'       => _x( 'berita-internal', 'Post Type Singular Name', 'text_domain' ),
    'menu_name'           => __( 'Berita Internal', 'text_domain' ),
    'parent_item_colon'   => __( 'Parent Item:', 'text_domain' ),
    'all_items'           => __( 'Semua Berita', 'text_domain' ),
    'view_item'           => __( 'Lihat', 'text_domain' ),
    'add_new_item'        => __( 'Tambah', 'text_domain' ),
    'add_new'             => __( 'Tambah Berita', 'text_domain' ),
    'edit_item'           => __( 'Edit Berita', 'text_domain' ),
    'update_item'         => __( 'Update berita', 'text_domain' ),
    'search_items'        => __( 'Search berita', 'text_domain' ),
    'not_found'           => __( 'Not found', 'text_domain' ),
    'not_found_in_trash'  => __( 'Not found in Trash', 'text_domain' ),
);
$args = array(
    'label'               => __( 'berita-internal', 'text_domain' ),
    'description'         => __( 'berita-internal', 'text_domain' ),
    'labels'              => $labels,
    'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', ),
    'taxonomies'          => array( 'category', 'post_tag' ),
    'hierarchical'        => false,
    'public'              => true,
    'show_ui'             => true,
    'show_in_menu'        => true,
    'show_in_nav_menus'   => true,
    'show_in_admin_bar'   => true,
    'menu_position'       => 5,
    'can_export'          => true,
    'has_archive'         => true,
    'exclude_from_search' => false,
    'publicly_queryable'  => true,
    'rewrite'             => true,
    'capability_type'     => 'page',
);
register_post_type( 'internal', $args );
}
// Hook into the 'init' action
add_action( 'init', 'berita_post_type', 0 );
?>

它是有效的,但我如何在自定义帖子类型中显示所有帖子?这就像一篇普通的博客文章感谢

试试这个:创建新文件berita-Internal.php上传到当前主题目录

<?php
/**
 * Template Name: Berita Internal
 *
 * @package WordPress
 */
get_header(); ?>
<div id="primary" class="site-content">
    <div id="content" role="main">
        <?php
        $args=array(
          'post_type' => 'berita-internal',
          'post_status' => 'publish',
          'posts_per_page' => -1,
          'caller_get_posts'=> 1);
        $my_query = null;
        $my_query = new WP_Query($args);
        if( $my_query->have_posts() ) {
          while ($my_query->have_posts()) : $my_query->the_post(); ?>
            <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
            <?php
          endwhile;
        }
        wp_reset_query();  // Restore global post data stomped by the_post().
        ?>
    </div><!-- #content -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>

然后转到wp-admin创建新页面(页面->添加新页面)。看右边,

转到下拉模板->选择贝里塔内部。然后保存并查看页面。

最好创建一个新模板并使用下面的代码创建新模板,然后创建新页面并将此模板分配给您的页面试试这个

<?php
/**
 * Template Name: Your Template name
 *
 */
?>
<?php get_header(); ?>
        <div id="container">
            <div id="content">
<?php
$type = 'berita-internal'; //change product type as per your custom post type
$args=array(
  'post_type' => $type,
  'post_status' => 'publish',
  'posts_per_page' => -1,
  'caller_get_posts'=> 1
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
  while ($my_query->have_posts()) : $my_query->the_post(); ?>
    <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
    <?php
  endwhile;
}
wp_reset_query();  // Restore global post data stomped by the_post().
?>

</div><!-- #content -->
        </div><!-- #container -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>