以下是WordPress超链接点击访问统计插件的完整代码
<?php
/*
Plugin Name: 超链接点击访问统计
Plugin URI: http://www.example.com
Description: 统计WordPress站点中超链接的点击访问次数
Version: 1.0
Author: 作者名
Author URI: http://www.example.com
*/
// 创建数据库表
function create_table() {
global $wpdb;
$table_name = $wpdb->prefix . 'link_clicks';
$charset_collate = $wpdb->get_charset_collate();
$sql = "CREATE TABLE $table_name (
id mediumint(9) NOT NULL AUTO_INCREMENT,
link_id mediumint(9) NOT NULL,
click_date datetime NOT NULL,
PRIMARY KEY (id)
) $charset_collate;";
require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
dbDelta( $sql );
}
register_activation_hook( __FILE__, 'create_table' );
// 记录超链接点击次数
function record_click($link_id) {
global $wpdb;
$table_name = $wpdb->prefix . 'link_clicks';
$wpdb->insert(
$table_name,
array(
'link_id' => $link_id,
'click_date' => current_time('mysql', 1)
)
);
}
// 统计超链接点击次数
function get_click_count($link_id) {
global $wpdb;
$table_name = $wpdb->prefix . 'link_clicks';
$results = $wpdb->get_results("SELECT COUNT(*) as count FROM $table_name WHERE link_id = $link_id");
if ($results) {
return $results[0]->count;
} else {
return 0;
}
}
// 显示超链接点击次数
function display_click_count($link_id) {
$click_count = get_click_count($link_id);
echo '该链接已被点击 ' . $click_count . ' 次';
}
// 注册点击事件
function register_click_event($content) {
$pattern = '/<a\s+(?:[^>]*?\s+)?href=([\'"])(.*?)\1/';
preg_match_all($pattern, $content, $matches);
if ($matches) {
foreach ($matches[2] as $url) {
if (filter_var($url, FILTER_VALIDATE_URL)) {
$link_id = url_to_postid($url);
$click_count = get_click_count($link_id);
$content = str_replace($url, $url . ' <span>(' . $click_count . '次点击)</span>', $content);
}
}
}
return $content;
}
add_filter('the_content', 'register_click_event');
// 点击事件处理
function handle_click_event() {
if (isset($_GET['link_id'])) {
$link_id = intval($_GET['link_id']);
record_click($link_id);
}
}
add_action('init', 'handle_click_event');请将以上代码复制粘贴到您的WordPress站点的主题的functions.php文件中,并保存即可。
然后在文章或页面中插入超链接,插件会自动统计超链接的点击次数并显示在页面上。