Aggiungere una classe div o id all'interno di the_content()
Sto cercando di creare un blocco pubblicitario da posizionare in un singolo post (single.php) in modo che il div con classe o id sia allineato a sinistra e il contenuto del post si disponga intorno ad esso. Ho controllato il file single.php e questo è l'unico pezzo di codice che noto per la visualizzazione del post.
<div class="entry entry-content">
<?php the_content(); ?>
<?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pagine:', 'themejunkie' ), 'after' => '</div>' ) ); ?>
Ho provato ad aggiungere il codice sia sopra il div 'entry-content' che dopo the_content, ma con entrambi i metodi viene visualizzato il div o all'inizio o alla fine del contenuto del post.
Qualcuno può dirmi quali file devo controllare per aggiungere questo?

Perché non utilizzare direttamente l'hook del filtro the_content
e aggiungere il tuo codice a the_content()
? Ad esempio:
function mytheme_content_ad( $content ) {
$myadcode = '<div class="someclas">';
$myadcode .= 'qualche stringa con il codice dell\'annuncio';
$myadcode .= '</div>';
$filteredcontent = $myadcode . $content;
return $filteredcontent;
}
add_filter( 'the_content', 'mytheme_content_ad' );
Potresti aver bisogno di rendere la funzione un po' più elaborata di così, ma questo dovrebbe trasmettere l'idea generale.

Devi inserire il tuo blocco pubblicitario appena prima di <?php the_content(); ?>
in un div separato e aggiungere un po' di CSS. Ad esempio:
single.php
<div class="entry entry-content">
<div class="advertisement">
<p>La tua pubblicità</p>
</div>
<?php the_content(); ?>
</div>
CSS
div.advertisement {
float: left;
width: 150px;
padding: 0px 10px 10px 0px;
}

Grazie roman. Ora ho un nuovo problema. Il blocco div appare allineato a sinistra all'inizio dei tag <p> nel post. C'è un modo per spostare questo blocco, ad esempio, di 200px sotto e fare in modo che il post di WordPress si avvolga intorno a questo annuncio? Se uso margin-top: 200px, lascia uno spazio bianco.

Questa volta, il CSS non basta. Se vuoi inserire un annuncio all'interno del tuo contenuto effettivo, devi a) includere l'annuncio nel tuo post durante la modifica con un shortcode oppure b) aggiungere un filtro per the_content()
che dividerà il contenuto in parti, aggiungerà il tuo annuncio e restituirà il nuovo contenuto.

@Sledge81 Un nuovo problema non va inserito in un commento. Per favore, usa Fai una domanda per questo. Altrimenti nessun altro troverà la soluzione. Le domande puramente CSS appartengono a StackOverflow però...

Aggiungi un div.spacing
prima del div.advertisement
e aggiungi .spacing{float:left;width:1px;height:200px}
. Il div.advertisement
avrà bisogno di clear:left
dopo. Esito a modificare così tanto la tua risposta.

Utilizzando l'esempio per aggiungere classi ai tag p e h2.
<?php
function replace_content($text_content)
{
if (is_page()) {
$text = array(
'<p>' => '<p class="text-danger">',
'<h2>' => '<h2 class="h2">',
);
}
$text_content = str_ireplace(array_keys($text), $text, $text_content);
return $text_content;
}
add_filter('the_content', 'replace_content');
?>
