2013-08-09 2 views
0

У меня есть блог с типом пользовательского почтового inited как:Wordpress Пользовательские сообщение Тип Архив Выпуск

register_post_type('type', 
    array(
     'labels' => array(
      'name' => __('Types'), 
      'singular_name' => __('Type') 
     ), 
     'public' => true, 
     'has_archive' => true, 
    ) 
); 

Очевидно, это завернутые в функцию, которая вызывается действием инициализации. Проблема в том, что этот тип сообщения заполнен сообщениями, более 1K, но на странице архива (domain.com/type) ничего не отображается. Я попытался проверить запрос, но запрос отображается как NULL. У кого-нибудь есть надежное решение?

PS - Вот почему я ненавижу Wordpress. Никогда не работает правильно.

Теги: WordPress разбитым опять-таки, WordPress-отстой, WordPress-я-ненавижу-ты

Полная выдержка:

function cp_init_types() { 
    register_post_type('nursing-home', 
     array(
      'labels' => array(
       'name' => __('Nursing Homes'), 
       'singular_name' => __('Nursing Home') 
      ), 
      'public' => true, 
      'has_archive' => true, 
      'rewrite' => array('slug' => 'nursing-homes', 'with_front' => true), 
      /*'supports' => array('title', 'editor', 'custom-fields', 'thumbnail'), 
      'publicly_queryable' => true, 
      'exclude_from_search'=> false, 
      'taxonomies' => array('category','post_tag'),*/ 
     ) 
    ); 

    flush_rewrite_rules(false); 
} 

function add_my_post_types_to_query($query) { 
    if(is_category() || is_tag() || is_home() && empty($query->query_vars['suppress_filters'])) { 
     $post_type = get_query_var('post_type'); 
     if($post_type) { 
      $post_type = $post_type; 
     } 
     else { 
      $post_type = array('post','nursing-home','nav_menu_item'); 
     } 
     $query->set('post_type', $post_type); 
     return $query; 
    } 

    return $query; 
} 

// Show posts of 'post', 'page' and 'movie' post types on home page 
add_action('pre_get_posts', 'add_my_post_types_to_query'); 
add_action("init", "cp_init_types"); 
+0

«Я попытался проверить запрос, но запрос отображается как NULL». Можете ли вы добавить то, что вы пытались ответить? – phil

+0

Фил, это точно моя проблема. Добавление полного кода выше. – zquintana

ответ

0

ли вы принять к сведению это из руководства:

Точно так же одиночные сообщения и их архивы могут отображаться с использованием файлов шаблона single.php и archive.php, соответственно,

Отдельные сообщения пользовательского типа сообщения будут использовать single-{post_type} .php и , их архивы будут использовать archive- {post_type} .php, где {post_type} - аргумент $ post_type функции register_post_type().

http://codex.wordpress.org/Post_Types

0

Вы явно о том, что вы хотите только мягкий флеш правил перезаписи. Чтобы получить персонализированные типы сообщений, чтобы показать, что вам нужно переписать правила в файле .htaccess. Используя жесткий флеш, вы можете добавить WordPress для вас. Удалите параметр false из вызова.

flush_rewrite_rules(); // pass no parameters and it defaults to true 
Смежные вопросы