Как сделать так, чтобы страницы slug имели приоритет над любыми другими таксономиями, такими как пользовательская публикация, публикация или категория
Я использую WordPress в качестве CMS.
Мне нужно показать страницу вместо категории, когда у них один и тот же слизняк.
- У меня есть категория под названием "вертикальные обрабатывающие центры" с надписью "вертикальные обрабатывающие центры"
Эта категория занимает второе место на второй странице в Google, и я хочу больше оптимизировать. Поэтому я создаю страницу..
Итак, как вы видите, страница и категория имеют один и тот же слизняк.
Когда я пишу www.xx.com/vertical-machining-centers , открывается страница категории, я также проверяю ее с помощью анализатора monkeyman-rewrite, он показывает, что категория slug имеет более высокий ранг.
Мне нужно сделать так, чтобы wordpress показывал страницу вместо категории, когда у них один и тот же слиток.
Есть ли какой-либо плагин или какой-либо способ сделать это без написания кода.
Спасибо....
2 answers
Вам нужно будет включить подробные правила страниц , которые гарантируют, что все страницы определены явно (вместо использования общего правила). Но в дополнение к этому вам нужно переместить эти правила страницы выше правил таксономии. Это довольно недавнее изменение, я полагаю, что это было между 3.0 и 3.1.
Я объясняю, как это сделать в этом ответе на очень связанный вопрос. Вместе это такой код:
add_action( 'init', 'wpse16902_init' );
function wpse16902_init() {
$GLOBALS['wp_rewrite']->use_verbose_page_rules = true;
}
add_filter( 'page_rewrite_rules', 'wpse16902_collect_page_rewrite_rules' );
function wpse16902_collect_page_rewrite_rules( $page_rewrite_rules )
{
$GLOBALS['wpse16902_page_rewrite_rules'] = $page_rewrite_rules;
return array();
}
add_filter( 'rewrite_rules_array', 'wspe16902_prepend_page_rewrite_rules' );
function wspe16902_prepend_page_rewrite_rules( $rewrite_rules )
{
return $GLOBALS['wpse16902_page_rewrite_rules'] + $rewrite_rules;
}
У меня была та же проблема, что и у тебя.
Это было мое исправление, но в моем случае я использую Visual Composer при создании страниц. Это важно, потому что мой метод будет переносить только часть содержимого страницы.
Вместо того, чтобы менять приоритет, я изменил шаблон категории для этой категории!
Итак.. создайте страницу, которую вы хотите установить в качестве категории, и обратите внимание на идентификатор (например, 86292).
Если у вашей категории есть идентификатор объявления (например, 35), вы можете создать пользовательский шаблон категории путем копирования archive.php и переименовав его в category-35.php .
Внутри.. удалите все блоглупы и установите это в качестве содержимого:
$p = get_post(86292);
echo do_shortcode($p->post_content);
Теперь каждое изменение, внесенное вами в публикацию (которое может остаться черновиком), будет отражено в категории:D
Одна или две заметки...
Любая пользовательская информация (например, SEO, пользовательский css и т.д.) НЕ БУДЕТ ПЕРЕНЕСЕНА! Только содержимое редактора.
Если вы хотите установить какой-либо пользовательский css, вы должны использовать тег внутри category-x.php .