Elliot

Members
  • Content count

    228
  • Joined

  • Last visited

Posts posted by Elliot


  1. 4 minutes ago, vitponom said:

    Привет, есть возможность настроить любой редирект на любую страницу, без плагинов и дополнений.

    Вперед к настройкам .htaccess или nginx.conf

    Искал, не нашел, стандартные решения нахожу, а под свои нужды нет...


  2. Здравствуйте друзья!

    Ищу решение.

    Стоит плагин Premmerce Redirect Manager и он ставит редирект на те товары которые удалены. И ставит он редирект на категорию.

    Но если удалить саму категорию, то переадресация будет в админ панель.

    А есть ли возможность делать переадресацию на 404 ошибку без плагина? Или на любую другую страницу?

    заранее спасибо!


  3. 23 minutes ago, hip12 said:

    Я так себе представляю - в коде не прописывать, буду с домашенго компа кликать на 5, а с рабочего на 4, получу 2 голоса и рейтинг 4,5. У меня половине статей рейтинг и так уже пользователи понаставили. Ну и не за один день все это делать.

    А я буду думать как обойтись без пользовательского рейтинга в сниппете, но чтобы он там был)

    hip12 likes this

  4. 4 minutes ago, hip12 said:

    Я случайно увидел, когда проверял один запрос в Гугле и на втором месте была моя конкретная страница со звездочками и рейтингом. Причем сначала 5 звездочек, а за ними Рейтинг: 4,8 - ‎22 голоса. Так что случайная генерация рейтинга не пойдет - нужно только 5 B).

     

    Хорошо, а если в коде прописать 5,00 на все записи, я так понимаю Рейтинг: 4,8 - ‎22 голоса не будет выводится, так как 5 звезд реальны только в микроразметке.

    И не попалит ли гугл такую накрутку ради сниппета?)


  5. 5 minutes ago, hip12 said:

    У меня к статьям прикручен рейтинг (звездочки) плагином на ВордПресс - похожая проблема: если нет оценок, то ошибка

    Заполните поле ratingValue.
    Укажите свойство ratingCount или reviewCount.

     

    вэтом куске кода

    <!-- kksr-stars -->

     

                    <div class="kksr-legend"><div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">    <div itemprop="name" class="kksr-title">Тайтл статьи</div>Оцените и поделитесь с друзьями!    <meta itemprop="bestRating" content="5"/>    <meta itemprop="worstRating" content="1"/>    <div itemprop="itemReviewed" itemscope itemtype="http://schema.org/CreativeWork">    <!-- Product properties -->    </div></div></div>
                    <!-- kksr-legend -->
                </div>
                <!-- kk-star-ratings -->

    Будет свободное время - потыкаю на каждой записи, в сниппетах Гугл хорошо смотрится.

    Потыкать конечно хорошо, но как автоматом прикрутить этот рейтинг к каждой записи, чисто для выдачи?)

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

    Если найду - скину.

     

    Вопрос, а как посмотреть, как в выдаче будет смотреться сниппет?


  6. Проблема решается обновлением Woocommerce, у меня была версия 3.4.3 но мне обновлять не вариант, не знаю почему, но после полного обновления, магазин работает как эталонный тормоз, особенно при переходе между категориями.

    Я взял с папки woocommerce 3.5.7 файлы class-wc-structured-data.php и wc-formatting-functions.php и заменил их в старой версии.

    В итоге, ошибки пропали и теперь структурированные данные отображаются правильно и по типам, спасибо petroff за то что ткнул носом)

    Я не знаю, к каким изменениям и последствиям приведет замена wc-formatting-functions.php - буду проверять.

    Забыл упомянуть, предупреждение о недостающем aggregateRating можно игнорировать, это рейтинг статьи или товара, и это предупреждение пропадает если есть хотя бы один голос, или отзыв. Хотя глупо, почему бы не показывать 0...

    Надеюсь эта информация кому-то пригодится ;)

    A1exandr and petroff like this

  7. 1 minute ago, petroff said:

    Это все должно быть размечено, как отдельные элементы. Сейчас как-то все в хлебных крошках. Может где скобка или кавычки пропущены, х.з.

    Пока вернул как было.

    Я нашел этот <script type="application/ld+json"> эта строка находится в этом же файле где я делал изменения class-wc-structured-data.php

    Вот код отвечающий за вывод разметки хлебных крошек

    	public function generate_breadcrumblist_data( $breadcrumbs ) {
    		$crumbs = $breadcrumbs->get_breadcrumb();
    
    		if ( empty( $crumbs ) || ! is_array( $crumbs ) ) {
    			return;
    		}
    
    		$markup                    = array();
    		$markup['@type']           = 'BreadcrumbList';
    		$markup['itemListElement'] = array();
    
    		foreach ( $crumbs as $key => $crumb ) {
    			$markup['itemListElement'][ $key ] = array(
    				'@type'    => 'ListItem',
    				'position' => $key + 1,
    				'item'     => array(
    					'name' => $crumb[0],
    				),
    			);
    
    			if ( ! empty( $crumb[1] ) && count( $crumbs ) !== $key + 1 ) {
    				$markup['itemListElement'][ $key ]['item'] += array( '@id' => $crumb[1] );
    			}
    		}
    
    		$this->set_data( apply_filters( 'woocommerce_structured_data_breadcrumblist', $markup, $breadcrumbs ) );
    	}

     


  8. 6 minutes ago, petroff said:

    Нет, всё не так. Каша получилась. Вчера все было по типам, а сейчас все размеченные элементы в хлебных крошках. Вчера вроде еще рейтинг был размечен, сегодня пропал. Возвращайте все как было, скачивайте шаблон с плагинами на комп и нотпадом ищите по " <script type="application/ld+json">"

    Рейтинг я удалил, это был отзыв о товаре, сейчас добавил, и он отображается в хлебных крошках.

    Quote

    а сейчас все размеченные элементы в хлебных крошках

    Я так понимаю, что вчера было размечено типа Product, Review, BreadcrumbList?

    Сейчас только Product нет, я думал если нет ошибок, он не отображается...

     


  9. Вроде решил проблему.

    Нашел

    if ( ! empty( $crumb[1] ) && count( $crumbs ) !== $key + 1 ) {
    			$markup['itemListElement'][ $key ]['item'] += array( '@id' => $crumb[1] ); 
    			}

    и заменил на

    if ( ! empty( $crumb[1] ) && count( $crumbs ) !== $key + 1 ) {
    			$markup['itemListElement'][ $key ]['item'] += array( '@id' => $crumb[1] ); } else {
    				$markup['itemListElement'][ $key ]['item'] += array( '@id' => $crumb[1] );
    			}

    На тесте, хлебные крошки отображаются вроде бы верно.


  10. 1 hour ago, petroff said:

    Так-то последний элемент крошек/текущую страницу и нужно делать без ссылки. Если ошибка в новом вм, то откройте любую страницу с подобной ошибкой и найдите кнопку проверить на сайте. В новом вм глюков пока много и данные там все так же долго обновляются, примерно раз в неделю

    Очистил кэш.

    Зашел на Google testing tool проверяю.

    Все элементы имеют name - это имя элемента (категория) и ID - это ссылка на эту категорию.

    А вот последний элемент имеет name а вот ID отсутствует и ниже ошибка 

    Для item.id указан недопустимый URL.

    Я так понимаю, отсутствует ссылка и из за этого ошибка.


  11. Здравствуйте друзья!

    Зашел в сеарч консоль и офигел, 555 страниц с ошибками, и подозреваю что это только начало. Как всегда гугл решил подкорректировать свои алгоритмы...

    Все ошибки с микроразметкой решил, кроме хлебных крошек.

    Ошибка говорит о том, что последний элемент в крошках, категория товара или сам товар не имеет id, короче, последний элемент не имеет ссылки.

    Весь день потратил на поиск решения, но все четно, пытался сам прикрутить, но они для меня заумные.

    Включил хлебные крошки в плагине Yoast SEO Premium 10.0.1 но ошибок в микроразметке вылезло еще больше - отключил.

    Помогите пожалуйста решить проблему, как сделать последний элемент с ссылкой?

     

    Вот шаблон вывода хлебных крошек

    if ( ! defined( 'ABSPATH' ) ) {
    	exit;
    }
    $delimiter = '';
    
    if ( ! empty( $breadcrumb ) ) {
    
    	echo $wrap_before;
    
    	$count = count($breadcrumb);
    
    	$i = 0;
    	$class = '';
    
    	foreach ( $breadcrumb as $key => $crumb ) {
    
    		$i++;
    
    		if( $i == $count - 1 ) {
    			$class = 'breadcrumb-link-last';
    		}
    
    		echo $before;
    
    		if ( ! empty( $crumb[1] ) && sizeof( $breadcrumb ) !== $key + 1 ) {
    			echo '<a href="' . esc_url( $crumb[1] ) . '" class="breadcrumb-link ' . $class . '">' . esc_html( $crumb[0] ) . '</a>';
    		} else {
    			echo '<span class="breadcrumb-last"> ';
    			echo esc_html( $crumb[0] );
    			echo '</span>';
    		}
    
    		echo $after;
    
    		if ( sizeof( $breadcrumb ) !== $key + 1 ) {
    			echo $delimiter;
    		}
    
    	}
    
    	echo $wrap_after;
    
    }

     

    С меня спасибки друзья ;)


  12. 7 часов назад, chromov сказал:

    is_singular() в категории не должен вызывать такого нотиса (вообще в шаблонах он не должен вызывать проблем, потому что там объект wp_query уже определен). И мне кажется, что это не ошибка перехода на PHP 7.2. 

    Нужно отдебажить правильно этот нотис, вывести backtrace.

    Есть 2 варианта:

    - поставить плагин Query Monitor, он показывает backtrace-ы всех ошибок, но он довольно весомый и только я одного нотиса его использовать не рационально

    - в теме на stackoverflow описано как написать свой вывод backtrace-ов. Т.е. будет выведен не только нотис, а вся иерархия вызовов функций и подключения файлов до места вызова. 

    Скиньте этот backtrace сюда, вместе посмотрим.

    Я протупил, этот нотик при просмотре карточки товара...

    Сейчас поставлю плагин и буду смотреть


  13. 4 минуты назад, DevilStar сказал:

    Это ж всего лишь notice. Оставьте только показ ошибок (error) и пользуйтесь сайтом спокойно.

    Ну я так и сделал, но хотелось бы вылечить, ведь снятие симптома - это не лечение)


  14. В 26.01.2019 в 0:48 PM, chromov сказал:

    В первом случае решается более изящно:

    
    add_filter('pre_site_transient_update_core', '__return_null');

    В WP определены функции, которые возвращают часто используемые результаты (по названиям, думаю, понятно, что возвращают):
    __return_empty_array()
    __return_empty_string()
    __return_false()
    __return_true()
    __return_zero()
     

    Во втором случае, скорее всего вы вызываете функцию is_singular() слишком рано. Когда еще не определен queried_object (например, прицепившись к хуку 'init').

    Спасибо за ответ!

    Сделал, ошибка пропала.

    А во втором случае ошибка возникает при просмотре категории. И такая ошибка у многих, кто перешел на 7,2, но пока решить ее не получается(


  15. 3 минуты назад, petroff сказал:

    А Вы не могли бы принять более активное участие в жизни этого форума, а не только тогда, когда у вас с вордпрессом проблемы?

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


  16. 10 часов назад, DevilStar сказал:
    
    add_filter('pre_site_transient_update_core',create_function('$a', "return null;"));

    заменить на

    
    add_filter('pre_site_transient_update_core', function($a) {return null;});

     

    DevilStar а вы не могли бы еще одну ошибку исправить?

    А то гугл выдает сайты где эта ошибка...

    Notice: Trying to get property of non-object in \wp-includes\class-wp-query.php on line 3871

    Вот этот код:

    	public function is_singular( $post_types = '' ) {
    		if ( empty( $post_types ) || !$this->is_singular )
    			return (bool) $this->is_singular;
    
    		$post_obj = $this->get_queried_object();
    
    		return in_array( $post_obj->post_type, (array) $post_types );
    	}

    Заранее большое спасибо ;)


  17. Здравствуйте друзья!

    Перевел сайт на php 7.2 и пока вижу только одну ошибку.

    Код в котором ошибка, отключает проверку на обновления, благодаря ему, админка стала работать быстрее...

    Подскажите, как решить проблему, гугл молчит(

    Вот сам код

    add_filter('pre_site_transient_update_core',create_function('$a', "return null;"));
    wp_clear_scheduled_hook('wp_version_check');
    
    if( is_admin() ){
    	// отключим проверку обновлений при любом заходе в админку...
    	remove_action( 'admin_init', '_maybe_update_core' );
    	remove_action( 'admin_init', '_maybe_update_plugins' );
    	remove_action( 'admin_init', '_maybe_update_themes' );
    
    	// отключим проверку обновлений при заходе на специальную страницу в админке...
    	remove_action( 'load-plugins.php', 'wp_update_plugins' );
    	remove_action( 'load-themes.php', 'wp_update_themes' );
    
    	// оставим принудительную проверку при заходе на страницу обновлений...
    	//remove_action( 'load-update-core.php', 'wp_update_plugins' );
    	remove_action( 'load-update-core.php', 'wp_update_themes' );
    
    	// внутренняя страница админки "Update/Install Plugin" или "Update/Install Theme" - оставим не мешает...
    	//remove_action( 'load-update.php', 'wp_update_plugins' );
    	remove_action( 'load-update.php', 'wp_update_themes' );
    
    	// событие крона не трогаем, через него будет проверяться наличие обновлений - тут все отлично!
    	remove_action( 'wp_version_check', 'wp_version_check' );
    	//remove_action( 'wp_update_plugins', 'wp_update_plugins' );
    	remove_action( 'wp_update_themes', 'wp_update_themes' );
    
    	/**
    	 * отключим проверку необходимости обновить браузер в консоли - мы всегда юзаем топовые браузеры!
    	 * эта проверка происходит раз в неделю...
    	 * @see https://wp-kama.ru/function/wp_check_browser_version
    	 */
    	add_filter( 'pre_site_transient_browser_'. md5( $_SERVER['HTTP_USER_AGENT'] ), '__return_true' );
    }

    Ошибка в этом куске

    add_filter('pre_site_transient_update_core',create_function('$a', "return null;"));

    Заранее спасибо!


  18. Здравствуйте друзья!

    Есть такой плагин improved variable product attributes благодаря этому плагину, простые товары становятся как вариативные, то есть, атрибуты можно выбирать как в вариативных товарах.

    Но есть проблема, когда я выбираю размер и цвет, и жму "купить" в корзину попадает товар с такими атрибутами "Размер: r40" "Цвет: krasniy" то есть, имена значений это их slug а не имя... и я никак не могу найти, где сменить slug на name...

     

    Кто разбирается, посмотрите пожалуйста.

    Автор плагина хранит молчание..

    Заранее спасибо!

     


  19. Я сейчас ищу только тех поставщиков, у которых есть подключенный сервис парсенга или csv, но вы правы, их почему то этот вопрос не парит, глупые люди, сделай нормальные файлы и партнеры потянутся...


  20. A1exandr спасибо за такие хорошие ответы!

    Я написал этому поставщику, теперь жду ответ, и что смешно, второй поставщик обуви, тоже на битриксе и тоже предлагает такой файл xml. 

    Им что, медом там намазано?)) К поставщику обуви пишу, нужен csv а он мол, у нас такого нет, говорю поставьте, говорит что попробует, и пробует уже вторую неделю.

    В общем, если не ответят, то на воротник им, а каждый раз мудохатся с этими прайсами нет желания.

    В общем, жду ответ от поставщика...


  21. 2 часа назад, A1exandr сказал:

    Тебе его только в excel перенести, без декодировки?
    Там будет открыто все также, как и в браузерном варианте, но с CSV кодировкой под загрузку.
    Или перевести в понятный язык, но при загрузке, тебе все равно надо будет менять кодировку для вукомерц

    П.С.:
    Структура, конечно, ппц полный. Моменты конфликтов ID могут быть. Если в базе ву будет идентичный ID - может произойти ошибка.
    Поэтому и стоит, все же, добить поставщика, чтобы какой-то прайс выдал. С прайсом отработать будет проще.
    Если нужны будут глубокие данные, типа, габаритов, материалов и т.д.(атрибутов), то проще спарсить, чем колупать эту идиотскую структуру.

    Да, в эксель, я думаю смогу сохранить как csv. А кодировка это типа utf8? Если да, то смогу перекодировать...

    Скиньте на мега или какой-то другой файлообменник.

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

    Я им посоветовал сервис q-parser, если не даст csv и откажется от сервиса, то придется прощаться с ними...

     

    Как вы перевели этот прайс?

    И, сделайте пожалуйста скрины в битриксе, где там делается файл csv, может как вы и говорите, им стремно там куда-то лазить, а так, по скринам может поймун...

    Спасибо!