使用 AJAX 單擊按鈕時,如何計算 WordPress 帖子的帖子瀏覽量?
目前,每當我重繪 頁面時,它都會計算帖子視圖,我想用 ajax 呼叫 tha 函式。
請檢查我目前用于顯示帖子查看次數的代碼
在functions.php里面
if ( ! function_exists( 'count_views' ) ) :
// Get the value of view
function count_views($postID) {
$count_key = 'wpb_post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count ==''){
$count = 1;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '1');
} else {
$count ;
update_post_meta($postID, $count_key, $count);
}
}
endif;
然后在 single.php 上我用get_the_ID();呼叫了函式count_views ;
<?php count_views(get_the_ID()); ?>
要檢索我使用的觀看次數:
<li>
<i class="fa fa-eye"></i>
<?php
if (get_post_meta(get_the_ID(), 'wpb_post_views_count', true) == '') {
echo '0';
} else {
echo get_post_meta(get_the_ID(), 'wpb_post_views_count', true);
};
?>
</li>
如何使用 javascript Ajax 呼叫呼叫 count_views(get_the_ID()) 函式。
uj5u.com熱心網友回復:
您需要為 WordPress 的 functions.php 檔案添加操作。然后,您可以指定回傳您要查找的資料的回呼函式。PHP代碼如下:
// You add two actions here, so it can be accessed from outside the WP CMS
add_action( 'wp_ajax_project_get_post_count', 'project_get_post_count_callback' );
add_action( 'wp_ajax_nopriv_project_get_post_count', 'project_get_post_count_callback' );
function project_get_post_content_callback() {
if(!empty($_POST['ID'])){
$postID == $_POST['ID'];
$count_key = 'wpb_post_views_count';
$count = get_post_meta($postID, $count_key, true);
$response['views'] = $count;
if($response['views'] ==''){
$response['views'] = 0;
}
wp_send_json( $response );
}
}
完成設定后,在 javascript 中,您需要執行 AJAX 發布,使用POST. 下面的內容將使您大部分時間都在那里。您需要正確格式化它才能獲取資料。這個例子也在jQuery,vanilla JS 會有所不同。JS代碼如下:
$.ajax({
type: 'POST',
url: ajaxfullurl,
data: {
'action': 'project_get_post_count',
'ID':<YOURIDHERE>
}
});
您需要的最后一部分是 AJAX URL ( ajaxfullurl)。WordPress 提供了一種方法來實作這一點。這是您在 WordPress 網站上提取 AJAX 呼叫 URL 所需的 PHP 代碼。
echo admin_url('admin-ajax.php');
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/363780.html
標籤:javascript php 查询 阿贾克斯 WordPress的
下一篇:如何從字串加載腳本標簽?
