Как сделать кнопку "мне нравится" для статьи в wordpress?

Пользователь

от yasmine , в категории: PHP , год назад

Как сделать кнопку "мне нравится" для статьи в wordpress?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от clifford , год назад

@yasmine 

Чтобы добавить кнопку "Мне нравится" на свой сайт на WordPress, можно воспользоваться следующими способами:

  1. Использовать плагин. Для этого можно установить плагин "Like Button Rating", который позволяет добавить кнопку "Мне нравится" и систему оценок для статей и страниц на сайте WordPress.
  2. Использовать код. Можно добавить код JavaScript в тему WordPress, который будет создавать кнопку "Мне нравится" и подсчитывать количество "лайков". Например, для этого можно использовать файл "script.js", который будет содержать следующий код:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
jQuery(document).ready(function($) {
    $('.like-button').click(function() {
        var post_id = $(this).data('post_id');
        $.ajax({
            type: 'POST',
            data: {
                action: 'like_post',
                post_id: post_id
            },
            dataType: 'json',
            url: ajaxurl,
            success: function(data) {
                if(data.status == 'success') {
                    $('.like-button[data-post_id="' + post_id + '"]').addClass('liked');
                    $('.like-button[data-post_id="' + post_id + '"]').text(data.likes);
                } else if(data.status == 'error') {
                    alert('Error: ' + data.message);
                }
            },
            error: function(xhr, ajaxOptions, thrownError) {
                alert('Error: ' + thrownError);
            }
        });
    });
});

function like_post(post_id) {
    $.ajax({
        type: 'POST',
        data: {
            action: 'like_post',
            post_id: post_id
        },
        dataType: 'json',
        url: ajaxurl,
        success: function(data) {
            if(data.status == 'success') {
                $('.like-button[data-post_id="' + post_id + '"]').addClass('liked');
                $('.like-button[data-post_id="' + post_id + '"]').text(data.likes);
            } else if(data.status == 'error') {
                alert('Error: ' + data.message);
            }
        },
        error: function(xhr, ajaxOptions, thrownError) {
            alert('Error: ' + thrownError);
        }
    });
}


Затем, код добавляется в файл functions.php вашей темы WordPress:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
function add_like_button() {
    wp_enqueue_script('like-button', get_template_directory_uri() . '/js/script.js', array( 'jquery' ), '', true);
    wp_localize_script('like-button', 'ajaxurl', admin_url('admin-ajax.php'));
}
add_action('wp_enqueue_scripts', 'add_like_button');

function like_post() {
    $post_id = $_POST['post_id'];
    $likes = get_post_meta($post_id, '_likes', true);
    if(!$likes) {
        $likes = 0;
    }
    update_post_meta($post_id, '_likes', $likes+1);
    wp_send_json(array('status' => 'success', 'likes' => $likes+1));
}
add_action('wp_ajax_like_post', 'like_post');
add_action('wp_ajax_nopriv_like_post', 'like_post');


  1. Использовать готовый код. Для этого можно найти готовый код кнопки "Мне нравится" на сторонних сайтах, например, на сайте AddThis, и вставить его на страницу с помощью HTML-тега.


Например, код кнопки "Мне нравится" от компании Facebook будет выглядеть так:

1