@pavelzabavin

Как настроить вывод изображения статьи для кнопки «поделиться»?

Здравствуйте.

Создаю свой личный блог. Использую Wordpress.

Я решил добавить кнопки «Поделиться» от Яндекса на сайт. Успешно заменил стандартные иконки на свои. Успешно настроил вывод названия статьи и описания. А вот настроить вывод изображения не представляется возможным.

Немного кода...

1. Так у меня выглядит файл functions.php

<?php

remove_action('wp_head', 'wp_generator');


register_nav_menus(array(
    'main' => 'Главное меню',
    'mobile_main' => 'Мобильное меню',
	'about_page' => 'Меню на странице about'
));

if ( function_exists('register_sidebar') ){
	register_sidebar(array(
		'name' => 'about_sidebar',
		'description' => 'Место для виджета адреса на странице about',
		'class' => 'about_sidebar',
		'before_widget' => "<div class='about_widget'>",
		'after_widget' => "</div>",
		'before_title' => "<h3>",
		'after_title' => "</h3>"
	));
}

add_action('wp_ajax_theme_news', 'ajax_news');
add_action('wp_ajax_nopriv_theme_news', 'ajax_news');


function ajax_news(){
    global $wpdb;

    $posts = get_posts(array(
        'numberposts' => intval($_GET['per_page']),
        'offset' => intval($_GET['page']*$_GET['per_page'])
    ));

    if(count($posts) == 0){
        $result = array(
            'success' => 1,
            'nomore' => 1,
        );
    }else{
        foreach($posts as &$post){
            $post->post_cover = get_post_meta($post->ID, 'cover', 1);
            unset($post->post_content);
            list($date, $time) = explode(" ", $post->post_date);
            $date = explode("-", $date);
            $post->post_date = $date[2]."/".$date[1]."/".$date[0];
            $post->permalink = get_permalink($post->ID);
        }
        $result = array(
            'success' => 1,
            'news' => $posts
        );
    }

    echo json_encode($result);
    exit;
}


2. Кнопка «Поделиться» во ВКонтакте (Отображает название статьи и текст статьи).

<?php echo urlencode(get_permalink()); ?>
				&title=<?php echo urlencode(get_the_title()); ?>
				&description=<?php echo urlencode(mb_substr(strip_tags(get_the_content()), 0, 134).'...');?>">


Какой код нужно написать для вывода изображения согласно файлу functions.php?
  • Вопрос задан
  • 464 просмотра
Пригласить эксперта
Ответы на вопрос 5
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Здравствуйте.

По идеи, соцсети должны подхватывать заголовок, описание и изображение из спецтегов Open Graph.
<meta property="og:title" content="Заголовок для отображения в сниппете">
<meta property="og:image" content="ссылка на картинку">
<meta property="og:description" content="Описание для сниппета, текст под названием страницы">

Насколько я помню, их умеет добавлять Add Meta Tags и Yoast SEO и наверняка какие-то другие плагины для seo.
Ответ написан
neovictor
@neovictor
Фрилансер
og метатеги, но ссылку нужно указывать уже для статьи, а не страницы с превью
Ответ написан
Комментировать
iiiBird
@iiiBird
Пока ты спишь - твой конкурент совершенствуется
вам на странице нужен метатег с нужной картиной
<meta property="og:image" content="путь до картинки" />
Ответ написан
Комментировать
Kozack
@Kozack Куратор тега WordPress
Thinking about a11y
До, соц.сети должны сами загружать информацию о странице. Но как альтернатива явно указать Заголовок, Описание и Изображение. У кнопок Яндекса для этого есть специальный параметр
https://tech.yandex.ru/share/doc/dg/api-docpage/
Ответ написан
trampick
@trampick
Веб-разработчик
Я бы посоветовал вам использовать плагин AddToAny Share Buttons. В нем есть возможность выбрать необходимые соцсети (там их около 100). Можно настроить так что бы для каждого поста или страницы выводились внизу эти кнопки, но я бы советовал использовать шорткод в нужном месте.
Сам шорткод
[addtoany]

Пример использования есть на этом сайте arduino54.ru
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 18:27
200000 руб./за проект
26 апр. 2024, в 18:24
80000 руб./за проект
26 апр. 2024, в 18:00
500 руб./за проект