За последние 24 часа нас посетили 16687 программистов и 1573 робота. Сейчас ищут 664 программиста ...

Автогенератор метатегов Description и Keywords для карточек товаров Woocommerce

Тема в разделе "Wordpress", создана пользователем opmk8, 24 июн 2018.

Метки:
  1. opmk8

    opmk8 Новичок

    С нами с:
    24 июн 2018
    Сообщения:
    1
    Симпатии:
    0
    Ребята всем привет! Нужна помощь!
    У меня небольшой сайт и загружаю товары на Woocommerce стандартным инструментом импорта.
    В принципе все устраивает если бы не одно НО! - Метаданные (типо ключевых слов и описания) нет возможности загрузить через стандартный инструмент, только через покупные плагины.

    Нашел полуготовое решение на просторах интернета. Код который при вставке в functions.php отлично справляется с этим вопросом (код ниже), опять же тут возникает еще одно "НО", дело в том что этот код заточен под страницы и записи (в товарные карточки Woocommerce мета данные не вставляет), и отлично вставляет метаданные на свои места, а в карточки товара не хочет, оставляет пустые кавычки после слова content.

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

    Вот исходник работающего для записей и страниц кода:
    PHP:
    1. /* Автогенератор метатегов Description и KeyWords */
    2.  
    3. function create_meta_desc() {
    4.     global $post;
    5.     $meta = wp_get_document_title();
    6.    
    7. if (is_category()){
    8.     $a = category_description();
    9.     if ( ! empty( $a ) ) {    $meta = $a; }
    10. }
    11. if (is_front_page()){
    12.     $meta = get_bloginfo( 'description' );
    13. }
    14. if (is_single()) {
    15.     $meta = strip_tags($post->post_content);
    16.     $tags = get_the_tags();
    17.     if ($tags) { foreach($tags as $tag) { $meta2 .= ' ' . $tag->name; } }
    18.     $meta2 = ltrim( $meta2, ' ' );
    19.     echo "\n<meta name=\"keywords\" content=\"$meta2\" />";
    20. }
    21.     $meta = strip_shortcodes($meta);
    22.     $meta = preg_replace( '~\[[^\]]+\]~', '', $meta );
    23.     $meta = wp_strip_all_tags($meta, true);
    24.     $meta = str_replace('"','\'', $meta);
    25.     if ( mb_strlen ( $meta ) > 160 ){ $meta = mb_substr($meta, 0, 160)."..."; }
    26.     echo "\n<meta name=\"description\" content=\"$meta\" />\n";
    27.    
    28. }
    29. add_action('wp_head', 'create_meta_desc');