Voglio eseguire uno script poco prima che il post venga impaginato.
Sono anche riuscito a raggiungere questo risultato eseguendo lo script poco prima che i dati venissero impaginati
if ( false !== strpos( $content, "<!--nextpage-->" ) )
in wp-includes/query.php
Ho bisogno di cambiare le pagine di post che è impaginato in base ad alcune condizioni.
Diciamo
if(condition == true){
$paged_data = explode("<!--nextpage-->", $content);
$i = 0;
$allpages = "";
foreach($paged_data as $p_data){
if( ($i) % 3 != 0){
$allpages = $allpages.$p_data;
}
else{
$allpages = $allpages . "<!--nextpage-->" .$p_data;
}
$i++;
}
$content = $allpages;
}
Ma ho bisogno di questo per essere raggiunto utilizzando alcuni ganci o filtri. In modo che il codice non venga cancellato quando wordpress viene aggiornato.
Ho provato the_content
hook ma viene eseguito dopo che il post è stato impaginato.
Anche io ci ho provato the_post
aggancia ma funziona solo con pochi temi.
risposte:
0 per risposta № 1Ecco un esempio di come possiamo fondersi pagine in blocchi, quando si utilizza impaginazione del contenuto:
Demo Plugin:
Possiamo usare il content_pagination
per modificare l'impaginazione del contenuto:
/**
* Content Pagination - Merge pages in chunks
*/
add_filter( "content_pagination", function( $pages )
{
// Nothing to do without content pagination
if( count( $pages ) <= 1 )
return $pages;
// Number of pages per chunk
$pages_per_chunk = 3; // <-- Edit to your needs!
// Create chunks of pages
$chunks = array_chunk( $pages, $pages_per_chunk );
// Merge pages in each chunk
$merged = [];
foreach( (array) $chunks as $chunk )
$merged[] = join( "", $chunk );
return $merged;
} );
dove aggiustiamo il $pages_per_chunk
come necessario.