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.
.
