最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Custom Post Type Archive template page not found

programmeradmin3浏览0评论

This following code is custom post type:

add_action( 'init', 'wpt_technology_posttype' );
function wpt_technology_posttype() {

  register_post_type( 'technology',
    array(
      'labels' => array(
        'name' => __( 'Technology Providers List' ),
        'singular_name' => __( 'Technology' ),
        'add_new' => __( 'Add Techonology Provider' ),
        'add_new_item' => __( 'Add New Technology' ),
        'edit_item' => __( 'Edit Technology' ),
        'new_item' => __( 'Add New Technology' ),
        'view_item' => __( 'View Technology' ),
        'search_items' => __( 'Search Technology' ),

        'not_found' => __( 'No News found' ),
        'not_found_in_trash' => __( 'No Technology found in trash' )
      ),
      'public' => true,
      'has_archive' =>'true',
      'hierarchical'        => true,
      'supports' => array( 'title','thumbnail','editor', 'comments' ),
      'capability_type' => 'post',
      'rewrite' => array("slug" => "techno_type"), // Permalinks format
      'menu_position' => 22,
     )
  );

  register_taxonomy('techno_type', 'technology', 
  array('hierarchical' => true, 'label' => 'Add New Technology', 'query_var' => true, 'rewrite' => true));
}

I created the page name archive-technology.php. I wrote script but page not found. How to display post in archive page.I also used following code in the functions.php:

function custom_post_archive( $query ){
    if ( is_post_type_archive('technology') ) {
         include 'archive-technology.php';
    }
}
add_action('pre_get_posts','custom_post_archive');

This following code is custom post type:

add_action( 'init', 'wpt_technology_posttype' );
function wpt_technology_posttype() {

  register_post_type( 'technology',
    array(
      'labels' => array(
        'name' => __( 'Technology Providers List' ),
        'singular_name' => __( 'Technology' ),
        'add_new' => __( 'Add Techonology Provider' ),
        'add_new_item' => __( 'Add New Technology' ),
        'edit_item' => __( 'Edit Technology' ),
        'new_item' => __( 'Add New Technology' ),
        'view_item' => __( 'View Technology' ),
        'search_items' => __( 'Search Technology' ),

        'not_found' => __( 'No News found' ),
        'not_found_in_trash' => __( 'No Technology found in trash' )
      ),
      'public' => true,
      'has_archive' =>'true',
      'hierarchical'        => true,
      'supports' => array( 'title','thumbnail','editor', 'comments' ),
      'capability_type' => 'post',
      'rewrite' => array("slug" => "techno_type"), // Permalinks format
      'menu_position' => 22,
     )
  );

  register_taxonomy('techno_type', 'technology', 
  array('hierarchical' => true, 'label' => 'Add New Technology', 'query_var' => true, 'rewrite' => true));
}

I created the page name archive-technology.php. I wrote script but page not found. How to display post in archive page.I also used following code in the functions.php:

function custom_post_archive( $query ){
    if ( is_post_type_archive('technology') ) {
         include 'archive-technology.php';
    }
}
add_action('pre_get_posts','custom_post_archive');
Share Improve this question edited Dec 19, 2016 at 6:18 Dave Romsey 17.9k11 gold badges56 silver badges70 bronze badges asked Dec 19, 2016 at 4:52 wploverwplover 11 silver badge1 bronze badge 3
  • Please format your code properly. Also, did you flush the permalinks? – fuxia Commented Dec 19, 2016 at 5:06
  • When I used this code. I was change permalinks, But could not find the solution. Where is my coding problem? can you give any solution ? – wplover Commented Dec 20, 2016 at 7:47
  • Have you tried "archive_template" ? codex.wordpress/Plugin_API/Filter_Reference/… – Nur Hasan Commented Dec 20, 2016 at 9:53
Add a comment  | 

1 Answer 1

Reset to default 5

I don't think you need to use the hook pre_get_posts on this. Remove that part from functions.php. Then just put the archive-technology.php in themes root directory. Then go to you Permalinks settings page and hit Save Changes button. WordPress will need to regenerate the .htaccess file to use new archive template.

发布评论

评论列表(0)

  1. 暂无评论