// ── SEO variables ────────────────────────────────────────── $site_name = get_bloginfo('name'); $site_desc = get_bloginfo('description'); $current_url = home_url( add_query_arg( null, null ) ); // Defaults $meta_title = $site_name . ' | ' . $site_desc; $meta_desc = $site_desc; $meta_image = ''; // можно задать дефолтный OG-образ ниже if ( is_singular() ) { $post_id = get_the_ID(); // Title $custom_title = get_post_meta( $post_id, 'meta_title', true ); $meta_title = $custom_title ? $custom_title : get_the_title() . ' | ' . $site_name; // Description $custom_desc = get_post_meta( $post_id, 'meta_description', true ); if ( $custom_desc ) { $meta_desc = $custom_desc; } elseif ( has_excerpt() ) { $meta_desc = wp_trim_words( get_the_excerpt(), 25, '...' ); } else { $meta_desc = wp_trim_words( wp_strip_all_tags( strip_shortcodes( get_the_content() ) ), 25, '...' ); } // Canonical $current_url = get_permalink( $post_id ); // OG Image if ( has_post_thumbnail( $post_id ) ) { $meta_image = get_the_post_thumbnail_url( $post_id, 'large' ); } } elseif ( is_category() || is_tag() || is_tax() ) { $term = get_queried_object(); $meta_title = $term->name . ' | ' . $site_name; $meta_desc = $term->description ? wp_trim_words( $term->description, 25, '...' ) : $site_desc; $current_url = get_term_link( $term ); } elseif ( is_home() || is_front_page() ) { $current_url = home_url('/'); } // Дефолтный OG-образ если не нашли featured image if ( ! $meta_image ) { $meta_image = get_template_directory_uri() . '/images/og-default.jpg'; // ↑ замени путь на реальный файл, или оставь пустым — тогда og:image не выведется } // Безопасная очистка $meta_title = esc_attr( wp_strip_all_tags( $meta_title ) ); $meta_desc = esc_attr( wp_strip_all_tags( $meta_desc ) );