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');
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.org/Plugin_API/Filter_Reference/…
    – Nur Hasan
    Commented Dec 20, 2016 at 9:53

1 Answer 1

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.

1

Not the answer you're looking for? Browse other questions tagged or ask your own question.