Pensées
J'ai d'abord pensé que je devrais le faire. Existe-t-il un plug-in permettant d'obtenir cela ? Après la recherche, le premier est . 文章浏览量计数器(Post Views Counter)
Avant d'installer ce plug-in, j'y ai réfléchi, puis-je l'implémenter moi-même ? Après tout, si vous y mettez la main, vous gagnerez quelque chose. Avant la recherche, ce à quoi j'ai pensé était d'ajouter un champ à la table , puis de sauvegarder les données à l'ouverture de l'article, afin que le nombre de lectures de l'article puisse être enregistré de manière persistante. wp_post
Mais WordPress est écrit en PHP et MySQL ajoute des champs, ce qui me prend assez de temps en front-end. Par exemple, comment faire fonctionner la base de données en utilisant PHP et comment ajouter des champs en utilisant PHP ? On estime que cela prendra au moins une demi-journée, voire une journée.
Existe-t-il un moyen plus simple ? Parce que j'ai déjà joué avec la base de données WordPress, je sais quelles tables il y a. Alors j’ai soudain pensé à avoir une table
. Du point de vue littéral, il devrait être possible d'ajouter un champ ou de partir de ce tableau. wp_postmeta

meta_id est l'identifiant, post_id est l'identifiant de l'article, meta_key et meta_value sont les informations sur la paire clé-valeur de l'article. 2. Méthodes fournies par wordpress Comment faire fonctionner ce tableau ? wordpress propose plusieurs méthodes :
1 2 3 4 | 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 );
|
Copier après la connexion
3. Implémentation de code spécifiqueComment l'utiliser ? Ajoutez d'abord la fonction d'encapsulation de add et get dans le fichier
, puis appelez-la dans le fichier function.php
. template-parts/content-single.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 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 ;
}
<p>阅读:<?php echo getPostViews(get_the_ID()); ?></p>
<?php addPostViews(get_the_ID()); ?>
|
Copier après la connexion
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!