WordPress как на ладони
Черная пятница на хостинге fornex.com! Хостинг, VPS/VDS и отдельные сервера только на SSD дисках. 7 дней бесплатного тестирования.

Знатоки, прошу совета: Нужно создать доп тексты + метатеги для динамических страниц

Дано:
Есть свой тип + 2 таксономи

Город:
/city/nazvanie-goroda

Тип:
/type/nazvanie-tipa

Получается создаются динамические страницы город + тип: /сity/nazvanie-goroda/nazvanie-tipa/

Через add_rewrite_rule расширена таксономи (сity) Город так, что если после названия города идет слаг который совпалает с названием типа, то динамические меняется выдача результатов на жинамической странице.

Например в заголовке, Выдает такое: "Такой то тип" в городе "Таком то" где Названия города и типа берутся из таксономии.

Сеошники предлагают добавить Мета теги и Описание в, а так же просто описание на такие динамические страницы.

Есть мысли как это можно реализовать в вордпресс? И вообще насколько это реально?

Заметки к вопросу:
Maestro 3 месяца назад

Здравствуйте, себе сделал так:

Для типов
Для таксономий

anseme 2 месяца назад

Спасибо Саша! Но тут суть именно в динамических страницах, прикрутить метабоксы к таксам или постам это не то совсем... Вопрос о другом был

Maestro 2 месяца назад

Давайте уточним. Город, Название города это таксы, Тип, Название типа это кастом пост. Что вы выводите на динамических страницах?
/сity/
/сity/nazvanie-goroda/
/сity/nazvanie-goroda/nazvanie-tipa/

Теперь прикрутите метабоксы тому что выводите ( таксам или типам ) и переделайте под свои нужды.

В headre на месте где нужны мета теги и тайтл:

<?php get_template_part('/tpl/seo'); ?>

Сам темплейт:

<?php
	remove_action( 'wp_head', '_wp_render_title_tag', 1 );
	$blog_name = get_bloginfo('name');

	if ( is_page() ) {
		$seo_title = get_post_meta( $post->ID, 'seo_title_field', 1 );
		$seo_keywords = get_post_meta( $post->ID, 'seo_keywords_field', 1 );
		$seo_description = get_post_meta( $post->ID, 'seo_description_field', 1 );
	}

	if ( is_single() ) {
		$seo_title = get_post_meta( $post->ID, 'seo_title_field', 1 );
		$seo_keywords = get_post_meta( $post->ID, 'seo_keywords_field', 1 );
		$seo_description = get_post_meta( $post->ID, 'seo_description_field', 1 );
	}

	if ( is_category() || is_tag() ) {
		$term = get_queried_object();
		$seo_keywords = get_term_meta( $term->term_id, 'txseo_seo_keywords', 1 );
		$seo_title = single_term_title('', 0);
		$seo_description = wp_strip_all_tags( term_description() );
	}

	if ( is_search() ) {
		$seo_title = 'Результати пошуку';
	}

	if ( is_404() ) {
		$seo_title = 'Сторінку не знайдено';
	}

	if (empty($seo_title)) { $seo_title = esc_html( get_the_title() ); }
?>
<!-- SEO meta tags -->
	<title><?php echo $blog_name; ?> - <?php echo $seo_title; ?></title>
	<meta name="keywords" content="<?php echo $seo_keywords; ?>">
	<meta name="description" content="<?php echo $seo_description; ?>">
anseme 2 месяца назад

Александр... большое спасибо, ценю твой порыв помочь.
У такс уже все прикручено, на страницах такс это все есть.

Но ключевое слово ДИНАМИЧЕСКИЕ страницы, формируются ДИНАМИЧЕСКИ, те НАЛЕТУ...

ИХ НЕТ в базе данных, соответственно у которых НЕТ ни мета полей, ни других записей в бд.

Понимаешь?

Maestro 2 месяца назад

Теперь я Вас понял. Было бы не плохо удивить это, поделитесь ссылкой вашего сайта.

Возможно такое решение подойдет:

Допустим первый мой запрос: /сity/черкассы/колеса/
Я получу Title: колеса в городе Черкассы

Допустим второй мой запрос: /сity/черкассы/шашлык/
Я получу Title: шашлык в городе Черкассы

вывод Title = 'название типа' .'в городе' .'название города';
вывод Description = 'краткое описание типа';
вывод Keywords = 'название типа,' .'название города,' .'ключевые слова типа';

Поля то в базе есть, получите их и отобразите. Если бы мне была поставлена такая задача, смотрел бы в сторону этого плагина AJAX Simply

0
anseme
182
3 месяца назад
  • 0
    Kama7021

    Загляни в global $wp_query там будут на таких страницах параметры запроса, каждый из которых относиться к своей таксе. Получай нужные параметры через get_query_var() и по нужной логике выводит нужный текст...

    П.С. Если получится написать работающий код, скинь его плз сюда, может кому-нить пригодится...

    anseme 2 месяца назад

    Да сделал уже... Там ничего сложного но как всегда пришлось повозиться...

    В итоге: Пришлось только оставить динамические метатеги, с описанием так не получится, иначе получится частичный дубликат страниц... Так что лучше его совсем не использовать, только h1 в заголовке.

    1. Добавить add_rewrite_rule с учетом пагинации и учетом 2х параметров в запросе.

    2. Использовать 2 таксы в аргументах для запроса

    3. Добавить проверку в шаблоны выдачи где это необходимо.

    4. Добавить так же проверку в формирования хлебных крошек

    Логика:

    • смотрю $wp_query переменные из запроса,
    • если обе категории то не вывожу описание, и применяю все то что описано в задании, подставив названия такс.
    • если одна из них, то все как обычно, вывожу метатеги и описание из такс

    P.S. Единственный минус, в том что почему то, вордпресс "думает" что я использую только последню таксу из запроса... Толи он не подразумевает использования 2х такс... толи я чего то незнаю (что скорее всего)

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация