gpt4 book ai didi

php - wordpress post中某个链接的点击次数

转载 作者:可可西里 更新时间:2023-11-01 13:42:54 24 4
gpt4 key购买 nike

是否可以统计帖子中某个链接被点击了多少次?

(例如,假设某个链接有一个名为“bla”的 ID)

<a id="bla" href="#">download</a>

我感觉应该可以通过使用 custom-fields/post-meta(保持计数),就像 ever-so-popular '访客计数的把戏。不幸的是,我对 PHP 一无所知。

最佳答案

这可以通过 ajax 调用来完成,该调用在链接被跟踪之前更新发布元字段。下面的示例为未登录的用户注册 ajax 操作,并在每次点击时将 link_click_counter 自定义字段增加 1。链接必须具有 id 属性 countable_link。这是一个基本示例,仅适用于帖子中的一个链接。要将其用作插件,请创建类似 wp-content/plugins/click-counter/click-counter.php 的文件并复制粘贴示例代码,或将代码放入 functions.php 在主题文件夹中。第一次点击链接时,将为该帖子创建新的自定义字段 link_click_counter,您可以在其中跟踪链接的点击次数。

HTML:

<a id="countable_link" href="#">download</a>

PHP:

<?php
/*
Plugin Name: Link Clicks Counter
*/

if ( is_admin() ) add_action( 'wp_ajax_nopriv_link_click_counter', 'link_click_counter' );
function link_click_counter() {

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


add_action( 'wp_head', 'link_click_head' );
function link_click_head() {
global $post;

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

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

关于php - wordpress post中某个链接的点击次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20812532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com