Come impostare l’immagine in primo piano a livello di codice in WordPress
Stai cercando di impostare l’immagine in primo piano utilizzando il codice in WordPress? A volte, ti sei imbattuto in un’attività in cui devi scrivere un pezzo di codice che dovrebbe impostare la miniatura del post per un post, una pagina o tipi di post personalizzati. In questo articolo, studiamo come impostare l’immagine in primo piano in modo programmatico in WordPress.
WordPress offre molte funzioni utili per i siti web. Uno di questi è Immagine in evidenza aka Post Thumbnail. L’immagine in primo piano è un’immagine rappresentativa per il post, la pagina o il tipo di post personalizzato.
Modo normale per impostare la miniatura del post
Possiamo caricare immagini in primo piano su post o pagine specifiche facendo clic sul collegamento "Imposta immagine in primo piano". Si aprirà un uploader multimediale di WordPress in cui puoi scegliere un’immagine esistente o caricare la nuova immagine.
È un modo semplice per impostare la miniatura dei post in WordPress. Gli stessi passaggi devono essere seguiti per le pagine e i tipi di post.
Ma come accennato all’inizio, lo scopo di questo articolo è scrivere un codice che imposti la miniatura del post senza seguire i passaggi precedenti.
Imposta immagine in primo piano in modo programmatico
Per questo tutorial, sto creando un modulo in cui un utente può selezionare un’immagine e questa immagine verrà impostata come miniatura del post sull’ID del post specificato. Inserisci il codice seguente nel tuo file modello.
<form method="post" enctype="multipart/form-data">
<div class="form-group">
<label><?php _e('Select Image:', 'Your text domain here');?></label>
<input type="file" name="image">
</div>
<div class="form-group">
<input type="submit" name="upload_file" value="Submit">
</div>
</form>
Questo codice visualizzerà il modulo con l’input del file e il pulsante di invio.
Ora, facendo clic sul pulsante di invio, dobbiamo impostare un’immagine in primo piano. Quindi scrivi il codice qui sotto nel functions.php
file dei temi attivi .
function fn_set_featured_image() {
if (isset($_POST['upload_file'])) {
$upload = wp_upload_bits($_FILES["image"]["name"], null, file_get_contents($_FILES["image"]["tmp_name"]));
if (! $upload_file['error']) {
$post_id = YOUR_POST_ID_HERE; //set post id to which you need to set featured image
$filename = $upload['file'];
$wp_filetype = wp_check_filetype($filename, null);
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => sanitize_file_name($filename),
'post_content' => '',
'post_status' => 'inherit'
);
$attachment_id = wp_insert_attachment( $attachment, $filename, $post_id );
if (! is_wp_error( $attachment_id)) {
require_once(ABSPATH. 'wp-admin/includes/image.php');
$attachment_data = wp_generate_attachment_metadata( $attachment_id, $filename );
wp_update_attachment_metadata( $attachment_id, $attachment_data );
set_post_thumbnail( $post_id, $attachment_id );
}
}
}
}
add_action('init', 'fn_set_featured_image');
Qui, sto usando un metodo wp_upload_bits() che carica l’immagine e restituisce il percorso assoluto e relativo. Dobbiamo prendere un percorso assoluto generato e passare ai successivi metodi come wp_check_filetype()
, wp_insert_attachment()
e wp_generate_attachment_metadata()
per ulteriore elaborazione.
Dopodiché, se vai alla schermata di modifica di un post specificato vedrai la miniatura del post nella sezione Immagine in primo piano. Significa che abbiamo impostato con successo l’immagine in primo piano in modo programmatico.
articoli Correlati
- Carica l’immagine usando la libreria antiproiettile in PHP
- Come registrare le dimensioni delle immagini personalizzate e ridimensionare le immagini esistenti in WordPress
- Una guida per caricare e comprimere immagini in Laravel