У меня есть блог с типом пользовательского почтового 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");
«Я попытался проверить запрос, но запрос отображается как NULL». Можете ли вы добавить то, что вы пытались ответить? – phil
Фил, это точно моя проблема. Добавление полного кода выше. – zquintana