您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
51. 设置浏览次数和获取当前用户访问的网页网址的方法
发布时间:2023-03-26 22:31:06编辑:雪饮阅读()
上篇学习到了文章的自定义字段功能,则可以结合该功能实现下设置及获取文章的浏览次数。实际核心就是使用update_post_meta和get_post_meta函数。
另外这里就是了解下wordpress中如何获取当前用户访问的网址的方法。
其实这个道是没有什么,很简单了,JavaScript我觉得就挺好。php原生也可以使用$_SERVER这个全局变量中最核心的REQUEST_URI以及结合该全局变量的其它信息拼接一起即可。
但是这里有老师提供的一个我觉得应该是会更好吧。
以上两个需求的实现:
那么最终我们这里以详情页为例,以singular.php为例,则首先functions.php如
<?php
/*设置文章/页面浏览次数
_wordpresskt_postviews是自定义栏目的名字@param int $post_id文章的ID编号
*/
function wordpresskt_set_postviews($post_id){
//详情页才处理
if (is_singular() && !empty($post_id)) {
$views=get_post_meta($post_id,'_wordpresskt_postviews',true);
$views = !empty($views) ? $views : 0;
$views++;
update_post_meta($post_id,'_wordpresskt_postviews', $views);
}
}
/*获取文章/页面浏览次数
@param int文章的ID编号@return int 浏览次数
*/
function wordpresskt_get_postviews($post_id) {
if (!empty($post_id)) {
$views = get_post_meta($post_id, '_wordpresskt_postviews',true);
$views = !empty($views) ? (int)$views : 0;
return $views;
}
}
/*获取用户当前访问的网址*/
function wordpresskt_get_current_url() {
global $wp,$wp_rewrite;
//获取重写规则,朴素模式规则为空
$rewrite = $wp_rewrite->wp_rewrite_rules();
//非朴素模式下,返回当前网址
if(!empty($rewrite)) {
return home_url( $wp->request );
}
//在朴素模式下,返回当前网址
return home_url('?'.$wp->query_string);
}
?>
然后是singular.php的实现
<?php if(have_posts()):?>
<?php while(have_posts()):the_post();?>
<div style="border:1px solid pink;">
<h1>页面浏览次数</h1>
<div>
<?php
//获取页面浏览次数
echo wordpresskt_get_postviews(get_queried_object_id());
//增加页面浏览次数
wordpresskt_set_postviews(get_queried_object_id());
?>
</div>
</div>
<div style="border:1px solid pink;">
<h1>获取用户当前访问的网址</h1>
<div>
<?php
echo wordpresskt_get_current_url();
echo "<pre>";
print_r($_SERVER);
echo "</pre>";
?>
</div>
</div>
<?php endwhile; ?>
<?php else: ?>
<p>对不起,暂时没有任何内容!</p>
<?php endif;?>
关键字词:浏览次数,当前,网址