Home funzioni funzione update_post_meta wordpress

funzione update_post_meta wordpress

65
0

Quando crei un plugin WordPress o personalizzi il tuo tema, potresti dover memorizzare alcune meta informazioni sui tuoi post nel database. In questo articolo, daremo un’occhiata a come utilizzare la funzione update_post_meta per ottenere esattamente questo.
Definizione e argomenti della funzione update_post_meta


<?php

function update_post_meta(int $post_id, string $meta_key, mixed $meta_value, mixed $prev_value = '')

Come puoi vedere, la funzione accetta 4 argomenti:

$post_id – ID del post associato ai metadati
$meta_key – nome del campo meta
$meta_value – valore meta che deve essere memorizzato
$prev_value – valore precedente facoltativo da controllare prima

dell’aggiornamento. Se specificato, aggiorna solo le voci di metadati esistenti con questo valore. Altrimenti, aggiorna tutte le voci.

Come usare la funzione update_post_meta

Supponiamo di voler memorizzare quante volte il nostro post è stato visualizzato ogni volta che qualcuno visita una pagina di post. Ecco come possiamo farlo.


<?php

add_action('template_redirect', function() {

// Controlla se siamo sulla pagina del post
if (! is_singular('post')) {
return;
}

global $post;

// Controlla quante visualizzazioni ha già il post
$views = get_post_meta($post->ID, 'views', true);

// Se non sono ancora state memorizzate visualizzazioni nel database, imposta il valore su 0
if (empty($views)) {
$views = 0;
}

update_post_meta($post->ID, 'views', $views + 1);

});

Come puoi vedere, controlliamo prima se la pagina visualizzata è una pagina di post. Poi, controlliamo quante visualizzazioni ha già il post.

Se non ne ha ancora, impostiamo il valore della variabile $views su 0. E poi, memorizziamo semplicemente il numero aggiornato di visualizzazioni usando la funzione update_post_meta.

.



  

Previous articleChe cos’è la funzione get_post_meta di WordPress e come utilizzarla per visualizzare i campi personalizzati
Next articleCome inserire dati nel database di WordPress

LEAVE A REPLY

Please enter your comment!
Please enter your name here