Cum să înlocuiesc imaginea reprezentativă din WordPress cu un videoclip?

2 ian. 2017, 13:05:45
Vizualizări: 17.6K
Voturi: 2

Am nevoie să înlocuiesc imaginile reprezentative din pagini cu un videoclip, dacă anumite articole conțin videoclipuri de pe YouTube, Vimeo sau alte servicii de găzduire video acceptate de WordPress.

Iată pseudocodul pe care vreau să îl folosesc într-o pagină personalizată:

if ( has_post_thumbnail( get_the_ID() {
    if has_video(pseudocod pentru a verifica dacă articolul conține videoclip YouTube)  {
// afișează player video
    } else {
// afișează imaginea reprezentativă
    }
}

Ceva sugestii?

4
Comentarii

Depinde de output-ul temei tale, poți oricând să creezi un câmp personalizat care să stocheze link-ul video și să îl încorporezi dacă este găsit în output-ul temei

Tunji Tunji
2 ian. 2017 13:10:05

un sfat ar fi să te uiți în single.php și să vezi unde afișează thumbnail-ul. Va trebui să înconjori asta cu o condiție if/then care să spună că dacă există un video (câmp personalizat) atunci să afișeze video în loc de imagine. Fără codul tău sau încercările tale, nu avem cum să te ajutăm mai mult.

rudtek rudtek
2 ian. 2017 19:56:54

Nu sunt sigur care este întrebarea aici. Care este problema reală întâmpinată în timp ce încerci să codezi soluția?

Mark Kaplun Mark Kaplun
2 ian. 2017 20:27:36

@MarkKaplun Am nevoie să înlocuiesc imaginea reprezentativă din paginile mele WordPress cu un player video. Sau să suprascriu automat orice imagine reprezentativă existentă cu un player video dacă articolul individual conține un link video de pe YouTube. Am fost suficient de clar acum? Mulțumesc!

Knott Knott
2 ian. 2017 20:50:47
Toate răspunsurile la întrebare 2
1

Să presupunem pentru simplitate că folosești ACF. Trebuie să creezi un câmp pentru link-ul video odată ce ACF este instalat și să îl atribui postărilor. Apoi, în postarea în care vrei să apară un video, adaugă URL-ul. De obicei, atribui acest câmp ca un câmp text și apoi îi cer utilizatorilor să introducă doar ID-ul de YouTube (ultimul șir de text după link-ul youtube.com).

De exemplu, dacă link-ul video era: https://www.youtube.com/J-ek8drxFJA

utilizatorul va introduce doar J-ek8drxFJA în câmp.

Acum adaugă acest cod în copia ta de single.php care se află în directorul temei tale child.

Observă că am modificat instrucțiunea if. Nu este nevoie să cauți thumbnail-ul dacă intenționezi să folosești un video:

if( get_field( 'video_link' ) ) {
    echo 'acesta este ID-ul meu de video ' . get_field( 'video_link' );   // sau afișează player-ul video (vezi mai jos)
} else {
    if( has_post_thumbnail( get_the_ID() ) ){
        // afișează thumbnail-ul postării
    }

    //nici video, nici poză
}

Desigur, dacă vrei să afișezi video-ul, vei dori să faci ceva de genul acesta în schimb:

if( get_field( 'video_link' ) ) {
    $videoid = get_field( 'video_link' );
    echo '<h2>Link Video</h2><p>vezi videoclipul nostru:</p><iframe width="420" height="315" src="https://www.youtube.com/embed/' . $videoid . '" frameborder="0" allowfullscreen></iframe>';
} else {
    if( has_post_thumbnail( get_the_ID() ) ) {
        // afișează thumbnail-ul postării
    }
    
    //nici video, nici poză
}

  

Evident, poți modifica puțin codul pentru a se potrivi nevoilor tale.

2 ian. 2017 20:53:10
Comentarii

Deși răspunsuri de calitate de orice fel sunt acceptabile, vă rugăm să rețineți că răspunsurile care trimit utilizatorul către plugin-uri terțe nu sunt întotdeauna bine primite. Acest tip de răspunsuri au tendința de a genera întrebări suplimentare legate de plugin-urile menționate, iar acele tipuri de întrebări sunt Off Topic.

Howdy_McGee Howdy_McGee
2 ian. 2017 22:40:08
0

Cred că ar trebui să încerci acest plugin: https://wordpress.org/plugins/featured-video-plus/

Dacă nu dorești să folosești un plugin suplimentar, atunci cu siguranță ar trebui să te uiți în codul lor ca referință. Poți analiza codul lor și să-l personalizezi în funcție de cerințele tale.

12 apr. 2018 01:42:24