Небольшая проблема с отображением кликов внешних ссылок на странице веб-сайта - PullRequest
0 голосов
/ 05 мая 2020

Я новичок ie, я создаю веб-сайт с помощью wordpress. Я хотел бы иметь настраиваемые шаблонные страницы с множеством настраиваемых html ссылок. Я хочу показать количество кликов этих ссылок рядом с ним .После долгих поисков я нашел решение на самом сайте. У меня небольшие проблемы при внедрении кода. Я не могу спросить там, так как у меня менее 50 репутации.

Код, указанный на сайте, следующий : HTML

<div id="link_count">
  <a href="https://www.dropbox.com/">Dropbox</a>
  <a href="https://www.mediafire.com/">Mediafire</a>
  <a href="http://google.com">google.com</a>
  <a href="http://www.linkedin.com/in/turjo">Linkadin</a>
</div>

PHP

<?php
/* functions.php */
add_action( 'wp_ajax_link_check_click_counter', 'link_check_click_counter');
add_action( 'wp_ajax_nopriv_link_check_click_counter', 'link_check_click_counter' );
function link_check_click_counter() {

    if ( isset( $_POST['nonce'] ) &&  isset( $_POST['post_id'] ) && wp_verify_nonce( $_POST['nonce'], 'link_check_click_counter_' . $_POST['post_id'] ) ) {
        $count = get_post_meta( $_POST['post_id'], 'link_check_click_counter', true );
        update_post_meta( $_POST['post_id'], 'link_check_click_counter', ( $count === '' ? 1 : $count + 1 ) );
    }
    exit();
}


add_action( 'wp_footer', 'link_click' );
//add_action( 'wp_head', 'link_click' );
function link_click() {
    global $post;

    if( isset( $post->ID ) ) {
?>
    <script type="text/javascript" >
    jQuery(function ($) {
        var ajax_options = {
            action: 'link_check_click_counter',
            nonce: '<?php echo wp_create_nonce( 'link_check_click_counter_' . $post->ID ); ?>',
            ajaxurl: '<?php echo admin_url( 'admin-ajax.php' ); ?>',
            post_id: '<?php echo $post->ID; ?>'
        };

        $( '#link_count a' ).on( 'click', function() {
            var href = $( this ).attr( "href" );
            var redirectWindow = window.open(href, '_blank');   
            $.post( ajax_options.ajaxurl, ajax_options, function() {
                redirectWindow.location;
            });
            return false;
        });
    });
    </script>
<?php
    }
}
?>

Количество ссылок в сообщении

global $post;
print get_post_meta($post->ID,'link_check_click_counter',true);

Сумма всех подсчетов для всех сообщений

   $all_link_count = link_check_meta_values( 'link_check_click_counter', 'page' );
    $total = array_sum($all_link_count);
    print $total;

// добавьте это в функции. php

function link_check_meta_values( $key = '', $type = 'post', $status = 'publish' ) {

    global $wpdb;

    if( empty( $key ) )
        return;

    $r = $wpdb->get_col( $wpdb->prepare( "
        SELECT pm.meta_value FROM {$wpdb->postmeta} pm
        LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id
        WHERE pm.meta_key = '%s'
        AND p.post_status = '%s'
        AND p.post_type = '%s'
    ", $key, $status, $type ) );

    return $r;
}

==== Я могу добавить приведенные выше коды к функциям. php Я не знаю, отображать количество (добавить короткие коды / что-то) под ссылкой в ​​странице / сообщении. Может кто-нибудь мне помочь ? Заранее спасибо

Ссылка: https://wordpress.stackexchange.com/questions/258898/count-and-show-clicks-on-external-links-in-a-single-page-post

https://chat.stackexchange.com/rooms/54847/discussion-on-answer-by-faysal-mahamud-count-and-show-clicks-on-external-links-i

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...