Я новичок 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