Cum să folosești hook-uri doar în Single.php după conținut?

29 iun. 2012, 01:39:43
Vizualizări: 26.7K
Voturi: 6

În prezent folosesc hook-ul pentru the_content() dar acesta se aplică în tot loop-ul WordPress. Cum pot să folosesc hook-ul doar în pagina Single.php?

De asemenea, există vreo modalitate de a aplica hook-ul doar pentru primele X articole din loop-ul WordPress?

Menționez că dezvolt un plugin

4
Comentarii

Vrei să adaugi conținut suplimentar la sfârșitul the_content, dar vrei să se întâmple doar când ești pe single.php?

Pippin Pippin
29 iun. 2012 01:45:48

Da. De asemenea, voiam să adaug ceva la sfârșitul conținutului pentru cele X cele mai recente postări.

Strawberry Strawberry
29 iun. 2012 01:50:56

Probabil ar trebui să dezvolți puțin întrebarea ta, pentru că momentan nu prea are sens. Dacă vrei să modifici single.php, deschide single.php și modifică-l. Prin natura sa, single.php va avea doar un singur post în buclă. Pentru a obține alte postări, vei avea nevoie de o buclă secundară după bucla principală.

SickHippie SickHippie
29 iun. 2012 01:52:21

Creez un plugin.

Strawberry Strawberry
29 iun. 2012 01:55:02
Toate răspunsurile la întrebare 2
0
20

Acest cod va adăuga conținut suplimentar la postările individuale:

function yourprefix_add_to_content( $content ) {    
    if( is_single() ) {
        $content .= 'Conținutul tău nou aici';
    }
    return $content;
}
add_filter( 'the_content', 'yourprefix_add_to_content' );
29 iun. 2012 02:08:32
1

Doar pentru a adăuga la răspunsul lui Pippin, în cazul meu unele conținuturi erau afișate și în alte părți ale paginii single, de exemplu în bara laterală. Verificarea doar cu is_single() a declanșat modificarea conținutului și în celelalte zone. Iată o verificare suplimentară pentru a ne asigura că doar conținutul principal va avea adăugiri:

function yourprefix_add_to_content( $content ) {

    if( is_single() && ! empty( $GLOBALS['post'] ) ) {

        if ( $GLOBALS['post']->ID == get_the_ID() ) {

            $content .= 'Conținutul tău nou aici';

        }

    }

    return $content;
}
add_filter('the_content', 'yourprefix_add_to_content');
20 nov. 2014 13:22:40
Comentarii

Acesta este răspunsul mai corect la această întrebare.

Christine Cooper Christine Cooper
29 sept. 2017 13:53:03