Почему у стандартного типа записи has_archive=false
6 июн. 2012 г., 14:42:46
Просмотры: 16.3K
Голосов: 6
Комментарии
Все ответы на вопрос
1
1
Поздний ответ.
has_archive
применяется только для аргументов rewrite
.
Подробнее
Если has_archive
установлен в true
, то $archive_slug
будет установлен в значение аргумента rewrite['slug']
. Если затем установлен аргумент rewrite['with_front']
, он будет добавлен в начало. Результат этого будет добавлен как правило перезаписи:
add_rewrite_rule( "{$archive_slug}/?$", "index.php?post_type=$post_type", 'top' );
Если feeds
установлен в true и has_archive
тоже, то вы также получите перезаписанные правила для фидов:
add_rewrite_rule( "{$archive_slug}/feed/$feeds/?$", "index.php?post_type=$post_type" . '&feed=$matches[1]', 'top' ); add_rewrite_rule( "{$archive_slug}/$feeds/?$", "index.php?post_type=$post_type" . '&feed=$matches[1]', 'top' );
Тот же принцип применяется для rewrite['pages']
:
add_rewrite_rule( "{$archive_slug}/{$wp_rewrite->pagination_base}/([0-9]{1,})/?$", "index.php?post_type=$post_type" . '&paged=$matches[1]', 'top' );
Итог:
Если у вас не установлен has_archive
в true
, то любая попытка добавить перезапись для feeds
, pages
или архивов закончится большим ?
.

kaiser
50.8K
14 июн. 2012 г. 14:06:24
Похожие вопросы