У меня небольшой сайт и загружаю товары на Woocommerce стандартным инструментом импорта.
В принципе все устраивает если бы не одно НО! - Метаданные (типо ключевых слов и описания) нет возможности загрузить через стандартный инструмент, только через покупные плагины.
Нашел полуготовое решение на просторах интернета. Код который при вставке в functions.php отлично справляется с этим вопросом (код ниже), опять же тут возникает еще одно "НО", дело в том что этот код заточен под страницы и записи (в товарные карточки Woocommerce мета данные не вставляет), и отлично вставляет метаданные на свои места, а в карточки товара не хочет, оставляет пустые кавычки после слова content.
Подскажите пожалуйста как его переписать чтобы он работал в основном под карточки товара.
Буду очень благодарен за любую помощь.
Вот исходник работающего для записей и страниц кода:
/* Автогенератор метатегов Description и KeyWords */
function create_meta_desc() {
global $post;
$meta = wp_get_document_title();
if (is_category()){
$a = category_description();
if ( ! empty( $a ) ) { $meta = $a; }
}
if (is_front_page()){
$meta = get_bloginfo( 'description' );
}
if (is_single()) {
$meta = strip_tags($post->post_content);
$tags = get_the_tags();
if ($tags) { foreach($tags as $tag) { $meta2 .= ' ' . $tag->name; } }
$meta2 = ltrim( $meta2, ' ' );
echo "\n<meta name=\"keywords\" content=\"$meta2\" />";
}
$meta = strip_shortcodes($meta);
$meta = preg_replace( '~\[[^\]]+\]~', '', $meta );
$meta = wp_strip_all_tags($meta, true);
$meta = str_replace('"','\'', $meta);
if ( mb_strlen ( $meta ) > 160 ){ $meta = mb_substr($meta, 0, 160)."..."; }
echo "\n<meta name=\"description\" content=\"$meta\" />\n";
}
add_action('wp_head', 'create_meta_desc');