Elliot

Members
  • Content count

    228
  • Joined

  • Last visited

Everything posted by Elliot

  1. Здравствуйте друзья! Ищу решение. Стоит плагин Premmerce Redirect Manager и он ставит редирект на те товары которые удалены. И ставит он редирект на категорию. Но если удалить саму категорию, то переадресация будет в админ панель. А есть ли возможность делать переадресацию на 404 ошибку без плагина? Или на любую другую страницу? заранее спасибо!
  2. Искал, не нашел, стандартные решения нахожу, а под свои нужды нет...
  3. А я буду думать как обойтись без пользовательского рейтинга в сниппете, но чтобы он там был)
  4. Здравствуйте друзья! Зашел в сеарч консоль и офигел, 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; } С меня спасибки друзья
  5. Хорошо, а если в коде прописать 5,00 на все записи, я так понимаю Рейтинг: 4,8 - ‎22 голоса не будет выводится, так как 5 звезд реальны только в микроразметке. И не попалит ли гугл такую накрутку ради сниппета?)
  6. Потыкать конечно хорошо, но как автоматом прикрутить этот рейтинг к каждой записи, чисто для выдачи?) Не особо интенсивно искал решение, но судя по постам на форумах, люди интенсивно прикручивают этот фейковый рейтинг чисто для выдачи, скрипты используют для случайной генерации рейтинга под каждую статью. Если найду - скину. Вопрос, а как посмотреть, как в выдаче будет смотреться сниппет?
  7. Проблема решается обновлением Woocommerce, у меня была версия 3.4.3 но мне обновлять не вариант, не знаю почему, но после полного обновления, магазин работает как эталонный тормоз, особенно при переходе между категориями. Я взял с папки woocommerce 3.5.7 файлы class-wc-structured-data.php и wc-formatting-functions.php и заменил их в старой версии. В итоге, ошибки пропали и теперь структурированные данные отображаются правильно и по типам, спасибо petroff за то что ткнул носом) Я не знаю, к каким изменениям и последствиям приведет замена wc-formatting-functions.php - буду проверять. Забыл упомянуть, предупреждение о недостающем aggregateRating можно игнорировать, это рейтинг статьи или товара, и это предупреждение пропадает если есть хотя бы один голос, или отзыв. Хотя глупо, почему бы не показывать 0... Надеюсь эта информация кому-то пригодится
  8. Пока вернул как было. Я нашел этот <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 ) ); }
  9. Рейтинг я удалил, это был отзыв о товаре, сейчас добавил, и он отображается в хлебных крошках. Я так понимаю, что вчера было размечено типа Product, Review, BreadcrumbList? Сейчас только Product нет, я думал если нет ошибок, он не отображается...
  10. Вроде решил проблему. Нашел 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] ); } На тесте, хлебные крошки отображаются вроде бы верно.
  11. Clearfy установленный, но там пункты Отключить ссылки JSON-LD и Отключить структурирование данных не актывны, или нужно активировать?
  12. Очистил кэш. Зашел на Google testing tool проверяю. Все элементы имеют name - это имя элемента (категория) и ID - это ссылка на эту категорию. А вот последний элемент имеет name а вот ID отсутствует и ниже ошибка Для item.id указан недопустимый URL. Я так понимаю, отсутствует ссылка и из за этого ошибка.
  13. Всем привет! По правилам AdSense нельзя открывать объявления в новой вкладке, типа они сами решают в какой стране это нормально, что уже мне кажеться бред. Т.е. на тостере реклама в правом сайтбаре открывается в новой вкладке, она там как-то через iframe идет, я так и не понял фишку. Но, открытия объявления в отдельной вкладке, как я считаю, очень хорошо, пользователь не теряет сайт что уже хорошо (так и не понятно, почему "УмЫ" с гугла этого не понимаю) Так вот. Как же можно открывать объявления в отдельной вкладке, код блока менять же нельзя, чтобы вставить в него атрибут таргета, может есть какие-то способы чтобы было ненаказуемо? Даже через тот же iframe как-то это провернуть? Заранее спасибо!
  14. Я протупил, этот нотик при просмотре карточки товара... Сейчас поставлю плагин и буду смотреть
  15. Здравствуйте друзья! Перевел сайт на 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;")); Заранее спасибо!
  16. Ну я так и сделал, но хотелось бы вылечить, ведь снятие симптома - это не лечение)
  17. Спасибо за ответ! Сделал, ошибка пропала. А во втором случае ошибка возникает при просмотре категории. И такая ошибка у многих, кто перешел на 7,2, но пока решить ее не получается(
  18. Поверьте. если бы я знал хоть четверть того, что знаете вы, я бы с удовольствием отвечал в темах и помогал тем, кому это нужно. Но моих знаний не хватает даже для банального совета...
  19. 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 ); } Заранее большое спасибо
  20. Здравствуйте друзья! Есть такой плагин improved variable product attributes благодаря этому плагину, простые товары становятся как вариативные, то есть, атрибуты можно выбирать как в вариативных товарах. Но есть проблема, когда я выбираю размер и цвет, и жму "купить" в корзину попадает товар с такими атрибутами "Размер: r40" "Цвет: krasniy" то есть, имена значений это их slug а не имя... и я никак не могу найти, где сменить slug на name... Кто разбирается, посмотрите пожалуйста. Автор плагина хранит молчание.. Заранее спасибо!
  21. Здравствуйте уважаемые друзья! Последняя надежда... Поставщики предоставляют файлы только в XML, эти файлы генерирует движок битрикс, я так подозреваю, что файлы генерируются только под продукты битрикса) Т.н. пожалуйста, очень прошу, подскажите, как же импортировать товары в woo? Стоит плагин WP All Import но он просто не понимает этот формат, хотя, в видео мануале все работает... Какие еще есть способы заливки таких файлов?? Такие же непонятные файлы генерирует убогий пром юа... Я попробовал больше 20 онлайн сервисов по конвертации, но ни один не увидел данные... А доказать поставщику, что это именно он заинтересован в предоставлении csv или эксель - не реально. Может, кто-то нашел способ??
  22. Я сейчас ищу только тех поставщиков, у которых есть подключенный сервис парсенга или csv, но вы правы, их почему то этот вопрос не парит, глупые люди, сделай нормальные файлы и партнеры потянутся...
  23. A1exandr спасибо за такие хорошие ответы! Я написал этому поставщику, теперь жду ответ, и что смешно, второй поставщик обуви, тоже на битриксе и тоже предлагает такой файл xml. Им что, медом там намазано?)) К поставщику обуви пишу, нужен csv а он мол, у нас такого нет, говорю поставьте, говорит что попробует, и пробует уже вторую неделю. В общем, если не ответят, то на воротник им, а каждый раз мудохатся с этими прайсами нет желания. В общем, жду ответ от поставщика...
  24. Да, в эксель, я думаю смогу сохранить как csv. А кодировка это типа utf8? Если да, то смогу перекодировать... Скиньте на мега или какой-то другой файлообменник. А на счет поставщика, конечно же буду добивать его, чтобы дал нормальный прайс, а то добавить товары это пол беды, а как быть с обновлением цен... Я им посоветовал сервис q-parser, если не даст csv и откажется от сервиса, то придется прощаться с ними... Как вы перевели этот прайс? И, сделайте пожалуйста скрины в битриксе, где там делается файл csv, может как вы и говорите, им стремно там куда-то лазить, а так, по скринам может поймун... Спасибо!