gpt4 book ai didi

php - Wordpress 插入查询运行 3 次

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:57 24 4
gpt4 key购买 nike

我制作了以下功能来跟踪 Wordpress 帖子或页面的浏览量。奇怪的是插入查询运行了三次而不是一次。

我尝试用下面的 Action Hook 解决这个问题,但到目前为止没有结果。

 remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0 );

我的代码:

add_action('wp_footer',function(){
global $wpdb;
global $wp_query;

$post_id = $wp_query->post->ID;
$count ='1';
$datetime = date("Y-m-d H:i:s");

$sql = $wpdb->prepare("INSERT IGNORE INTO track_views (datetime, count, post_id)
VALUES (%s, %d, %d)
ON DUPLICATE KEY UPDATE count = count +1",
$datetime, $count, $post_id);
$wpdb->query($sql);

});

更新:如果我从第 X 页转到第 Y 页,它似乎会计算两个页面,而不仅仅是当前页面。如何只统计当前页?

最佳答案

我遇到了完全相同的问题...这是 Yoast SEO 插件。

我禁用了所有插件(Exec-PHP,v4.9 除外)并且代码运行正常。在全新安装的 WP 上分别测试所有 11 个其他插件后 - 仅启用 Yoast SEO 插件 + Exec-PHP 插件导致了 3 条记录现象。

数据库表结构:

CREATE TABLE `dk_test_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`value1` int(11) NOT NULL,
`value2` int(11) NOT NULL,
PRIMARY KEY (`id`)
)

WP PAGE CODE(将单条记录写入自定义表):

<?php
global $wpdb;
$wpdb->insert( dk_test_table, array( 'value1' => "1", 'value2' => "2"));
?>

禁用 Yoast SEO 插件,查看页面,插入 1 条记录。
启用 Yoast SEO 插件,查看页面,插入 3 条相同的记录。

WP版本:4.7.3
Yoast SEO 版本:4.4

我希望这对外面的人有帮助!

关于php - Wordpress 插入查询运行 3 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25159778/

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