- Home
- Categorie
- Coding e Sistemistica
- CMS & Piattaforme Self-Hosted
- Campi personalizzati
-
Campi personalizzati
Creare link nei campi personalizzati di wp
Voglio cimentarmi un po' con Wordpress per un mio sito personale.
Non so nulla di php ma se voglio fare qualcosa di più che non installare dei temi precostituiti in WP sto cercando di approfondire l'argomento.
Ho visto che in WP esistono dei CAMPI PERSONALIZZATI, e ho scoperto che ognuno li usa un po' come meglio crede.
Io avrei bisogno di usarli in questo modo:
voglio creare un CAMPO PERSONALIZZATO fatto così- nome = Youtube
- valore = youyube.com / mio_video
valore al punto 2 che però ogni volta posso cambiare
Ora diciamo che io creo di volta in volta degli articoli ai quali, se mi va, voglio allegare un video esterno al sito da youtube; ad ogni articolo a cui vorrò allegare il video assocerò il CAMPO PERSONALIZZATO Youtube e ogni volta cambierò il valore al suo interno e metterò ogni volta il link al file video che mi occorre.
Così facendo vorrei che alla fine di ogni articolo creato e con il CAMPO PERSONALIZZATO youtube, si vedesse il logo di youtube e che questa icona sia un link cliccabile tramite il quale si passa ad una pagina _blank nel browser x vedere il video di youtube.
Ora per fare in modo che la cosa funzioni così si deve inserire all'interno della pagina SINGLE.php degli articoli di WP stringhe di codice php.
Io per ora ho fatto questo:
creo una funzione che controlla la presenza o meno del campo personalizzato Youtube
se presente Youtube la funzione "stampa" sulla pagina internet l'immagine da me assegnata (il logo youtube) e la fa diventare un link.Riesco a fare tutto ciò perché l'immagine è presente nella pagina e se ci passi sopra con il mouse si attiva la manina ma il link non funziona, o meglio funziona ma WP non trova nessuna pagina associata e mi dice spedisce ad una pagina not found.
Questo il codice che ho scritto all'interno della pagina single.php
<?php $youtube= get_post_meta($post->ID, 'Youtube', true); if($youtube: ?> <?php echo '<a href:\"$youtube"\><img src="wordpress/upload/logo_youtube"></a>' ;?> <?php endif; ?>
Questo il codice dove href:"$youtube"\ per me dovrebbe recuperare il valore del campo personalizzato ovvero il link alla pagina mio_video.
Tutta questa cosa la dovrei fare anche magari con pdf associati agli articoli al download di file .zip o link a pagine esterne al sito.
Nel codice so di non aver dato l'istruzione x aprire una nuova pagina o finestra del browser ma questo solo perché stavo testando il funzionamento del link che è la cosa che mi interessa di più.
C'è qualcuno che mi sa aiutare e mi sa dire dove è l'errore se di errore si parla, perché magari WP non supporta questo utilizzo dei campi personalizzati.
Grazie mille
-
Ciao S1M0N3_C01@ e benvenuto sul forumgt,
Il problema è che non hai concatenato bene la variabile e la stringa, non hai usato correttamente le virgolette e dopo href devi mettere = e non :.
Io ti ho aggiunto le graffe così sarà più leggibile in futuro.[PHP]
$youtube = get_post_meta($post->ID, 'Youtube', true);
if($youtube){
echo '<a href="' . $youtube . '"><img src="wordpress/upload/logo_youtube"></a>';
}
[/PHP]Provalo e dimmi se ti funziona.
Ciao
Enea
-
Ha funzionato alla grande!
e io che mi sono incasinato la vita per giorni.... Avevo trovato uno script di due anni fa con 10000 righe di codice cambiamenti in 2 pagine del template e tutto questo senza successo.mentre con il tuo aiuto 3 righe di codice sono bastate e avanzate.
Grazie mille ancora.
a buon rendere
-
Di nulla
Quando hai bisogno il forum è sempre disponibile
Ciao
Enea