플러그인 없이 WordPress에서 기사 조회수를 얻는 방법

藏色散人
풀어 주다: 2021-03-19 17:15:55
앞으로
2584명이 탐색했습니다.

다음 WordPress 튜토리얼 칼럼에서는 플러그인 없이 WordPress에서 기사 조회수를 달성하는 방법을 소개합니다. 필요한 친구들에게 도움이 되길 바랍니다!

플러그인 없이 WordPress에서 기사 조회수를 얻는 방법

1. Idea

처음에는 이를 달성하기 위해 플러그인이 있어야 한다고 생각했는데 검색 결과, 첫 번째는 기사 조회수 카운터(게시물 조회수 카운터)였습니다. 文章浏览量计数器(Post Views Counter)

在安装该插件之前,想了下,能否自己实现?毕竟动手折腾下,是会有收获的。

在搜索之前,我想到的是在wp_post表加个字段,然后在文章打开的时候,把数据存起来,这样就能持久保存文章阅读数了。
但wordpress使用php写的,mysql加字段,对前端的我来说,还是比较耗时间的。比如用php怎么操作数据库,怎么用php加字段?估计最少半天甚至一天的时间,才能搞完。

有没有更简单的办法?
因为之前折腾过wordpress数据库,知道大概有哪些表。所以突然想到有个wp_postmeta表。从字面看,应该是可以加个字段或者能从该表入手的。
플러그인 없이 WordPress에서 기사 조회수를 얻는 방법

meta_id是id,post_id是文章id,meta_key和meta_value是文章的键值对信息。

二、wordpress提供的方法

那怎么操作该张表?
wordpress提供了几个方法:

add_post_meta($post_id, $meta_key, $meta_value, $unique);
get_post_meta($post_id, $meta_key, $single);
update_post_meta($post_id, $meta_key, $meta_value, $prev_value);
delete_post_meta($post_id, $meta_key, $meta_value);
로그인 후 복사

三、具体代码实现

那怎么用呢?
首先在function.php文件中添加add和get的函数封装,然后在template-parts/content-single.php

이 플러그인을 설치하기 전에 생각해봤는데 직접 구현할 수 있을까요? 결국 손을 넣으면 뭔가를 얻게 될 것입니다.
🎜검색하기 전에 제가 생각한 것은 wp_post 테이블에 필드를 추가한 다음 기사를 열 때 데이터를 저장하면 기사의 읽은 횟수가 지속적으로 저장될 수 있다는 것이었습니다.
하지만 WordPress는 PHP로 작성되고 MySQL은 필드를 추가하는데, 이는 프런트엔드에서 시간이 꽤 많이 소요됩니다. 예를 들어, PHP를 사용하여 데이터베이스를 운영하는 방법, PHP를 사용하여 필드를 추가하는 방법은 무엇입니까? 완료하는 데 최소 반나절 또는 심지어 하루가 걸릴 것으로 예상됩니다. 🎜🎜더 쉬운 방법이 있나요?
이전에 WordPress 데이터베이스를 망쳐본 적이 있기 때문에 어떤 테이블이 있는지 알고 있습니다. 그래서 갑자기 wp_postmeta 테이블이 있다는 생각이 들었습니다. 문자 그대로의 관점에서 보면 필드를 추가하거나 이 테이블에서 시작할 수 있어야 합니다.
🎜 🎜meta_id는 ID, post_id는 기사 ID, Meta_key와 Meta_value는 기사의 키-값 쌍 정보입니다. 🎜🎜둘째, 워드프레스에서 제공하는 방식🎜🎜이 테이블은 어떻게 조작하나요?
Wordpress는 여러 가지 방법을 제공합니다: 🎜
// function.php
function addPostViews($postId) {
    $key = 'post_views';
    $value = get_post_meta($postId, $key, true);
    if($value == ''){
        $value = 0;
        delete_post_meta($postId, $key);
        add_post_meta($postId, $key, $value);
    }else{
        $value++;
        update_post_meta($postId, $key, $value);
    }
}
function getPostViews($postId){   
    $key = 'post_views';   
    $value = get_post_meta($postId, $key, true);   
    if($value == ''){
    $value = 0;
        delete_post_meta($postId, $key);
        add_post_meta($postId, $key, $value);
        return $value;
    }
    return $value;
}

// template-parts/content-single.php
<p>阅读:<?php  echo getPostViews(get_the_ID()); ?></p>
<?php  addPostViews(get_the_ID()); ?>
로그인 후 복사
🎜3. 특정 코드 구현🎜🎜사용 방법은 무엇인가요?
먼저 function.php 파일에 add 및 get의 함수 캡슐화를 추가한 다음 template-parts/content-single.php 파일에서 호출합니다. . 🎜rreee🎜

위 내용은 플러그인 없이 WordPress에서 기사 조회수를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!