Come agganciare solo su Single.php dopo il contenuto?

29 giu 2012, 01:39:43
Visualizzazioni: 26.7K
Voti: 6

Attualmente sto usando l'hook su the_content() ma questo viene eseguito anche nel loop di WordPress. Come posso agganciare solo sulla pagina Single.php?

Inoltre, c'è un modo per eseguire l'hook solo sui primi X post nel loop di WordPress?

Per informazione, sto creando un plugin

4
Commenti

Vuoi aggiungere contenuti extra alla fine di the_content, ma vuoi che accada solo quando sei su single.php?

Pippin Pippin
29 giu 2012 01:45:48

Sì. Inoltre, volevo aggiungere qualcosa in fondo al contenuto per gli X post più recenti.

Strawberry Strawberry
29 giu 2012 01:50:56

Probabilmente dovresti ampliare un po' la tua domanda, perché al momento non ha molto senso. Se vuoi modificare single.php, apri single.php e modificalo. Per sua natura, single.php avrà solo un singolo post nel loop. Per ottenere altri post, avrai bisogno di un loop secondario dopo il tuo loop principale.

SickHippie SickHippie
29 giu 2012 01:52:21

Sto creando un plugin.

Strawberry Strawberry
29 giu 2012 01:55:02
Tutte le risposte alla domanda 2
0
20

Questo gestirà l'aggiunta del contenuto ai singoli articoli:

function yourprefix_add_to_content( $content ) {    
    if( is_single() ) {
        $content .= 'Il tuo nuovo contenuto qui';
    }
    return $content;
}
add_filter( 'the_content', 'yourprefix_add_to_content' );
29 giu 2012 02:08:32
1

Per aggiungere alla risposta di Pippin, nel mio caso alcuni contenuti venivano mostrati anche in altre parti della pagina single, ad esempio nella sidebar. Controllare solo is_single() attivava la modifica del contenuto anche nelle altre aree. Ecco un ulteriore controllo per assicurarsi che solo il contenuto principale abbia il contenuto aggiuntivo:

function yourprefix_add_to_content( $content ) {

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

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

            $content .= 'Il tuo nuovo contenuto qui';

        }

    }

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

Questa è la risposta più accurata a questa domanda.

Christine Cooper Christine Cooper
29 set 2017 13:53:03