Heim  >  Artikel  >  CMS-Tutorial  >  So erreichen Sie die Anzahl der Artikelaufrufe in WordPress ohne Plug-Ins

So erreichen Sie die Anzahl der Artikelaufrufe in WordPress ohne Plug-Ins

藏色散人
藏色散人nach vorne
2021-03-19 17:15:452532Durchsuche

Die folgende Tutorial-Kolumne von WordPress zeigt Ihnen, wie Sie die Anzahl der Artikelaufrufe in WordPress ohne Plug-Ins erreichen. Ich hoffe, dass es für Freunde hilfreich ist, die es benötigen!

So erreichen Sie die Anzahl der Artikelaufrufe in WordPress ohne Plug-Ins

1. Idee

Zuerst dachte ich, dass es ein Plug-In geben sollte, um dies zu erreichen, und nach der Suche fand ich das Das erste war Article Views Counter (Post Views Counter). 文章浏览量计数器(Post Views Counter)

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

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

有没有更简单的办法?
因为之前折腾过wordpress数据库,知道大概有哪些表。所以突然想到有个wp_postmeta表。从字面看,应该是可以加个字段或者能从该表入手的。
So erreichen Sie die Anzahl der Artikelaufrufe in WordPress ohne Plug-Ins

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

Bevor ich dieses Plug-in installiert habe, habe ich darüber nachgedacht, ob ich es selbst implementieren kann? Denn wenn Sie Ihre Hände hineinlegen, werden Sie etwas gewinnen.
🎜Vor der Suche dachte ich darüber nach, ein Feld zur Tabelle wp_post hinzuzufügen und dann die Daten beim Öffnen des Artikels zu speichern, damit die Leseanzahl des Artikels dauerhaft gespeichert werden kann.
Aber WordPress ist in PHP geschrieben und MySQL fügt Felder hinzu, was für mich im Frontend ziemlich zeitaufwändig ist. Wie betreibe ich beispielsweise die Datenbank mit PHP und wie füge ich Felder mit PHP hinzu? Es wird geschätzt, dass die Fertigstellung mindestens einen halben oder sogar einen Tag dauern wird. 🎜🎜Gibt es einen einfacheren Weg?
Da ich schon einmal mit der WordPress-Datenbank herumgespielt habe, weiß ich, welche Tabellen es gibt. Da fiel mir plötzlich auf, dass es eine wp_postmeta-Tabelle gibt. Aus wörtlicher Sicht sollte es möglich sein, ein Feld hinzuzufügen oder von dieser Tabelle aus zu beginnen.
So erreichen Sie die Anzahl der Artikelaufrufe in WordPress ohne Plug-Ins🎜 🎜meta_id ist die ID, post_id ist die Artikel-ID, meta_key und meta_value sind die Schlüssel-Wert-Paar-Informationen des Artikels. 🎜🎜Zweitens die von WordPress bereitgestellte Methode🎜🎜Wie bedient man diese Tabelle?
Wordpress bietet mehrere Methoden: 🎜
// 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. Spezifische Code-Implementierung🎜🎜Wie wird es verwendet?
Fügen Sie zunächst die Funktionskapselung von add und get in der Datei function.php hinzu und rufen Sie sie dann in der Datei template-parts/content-single.php auf . 🎜rrreee🎜

Das obige ist der detaillierte Inhalt vonSo erreichen Sie die Anzahl der Artikelaufrufe in WordPress ohne Plug-Ins. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen