✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Come impostare l’immagine in primo piano a livello di codice in WordPress

46

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.

Come impostare l'immagine in primo piano a livello di codice in WordPress

Ora, facendo clic sul pulsante di invio, dobbiamo impostare un’immagine in primo piano. Quindi scrivi il codice qui sotto nel functions.phpfile 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

Fonte di registrazione: artisansweb.net

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More