Come visualizzare il permalink senza http e www in WordPress
Ho questa riga di codice...
<div class="permalink"><?php the_permalink(); ?></div>
e il risultato sulla mia pagina appare così...
http://mysite.com/whatever/post-or-so
Potrebbe anche apparire così...
http://www.mysite.com/whatever/post-or-so
Tuttavia vorrei ottenere semplicemente mysite.com/whatever/post-or-so senza il http:// o www all'inizio.
Non fraintendetemi, questo non ha nulla a che fare con la riscrittura dei permalink o simili. Si tratta semplicemente di visualizzare the_permalink() nella mia pagina come testo normale e non come link. E in questo caso vorrei eliminare http e www.
Come suggerito da @milo, puoi manipolare il risultato di get_permalink(). Questo può essere facilmente fatto utilizzando diverse funzioni PHP per le stringhe, qui viene utilizzata str_replace(). Se hai la necessità di rimuovere sia http:// che https:// passa un array di valori da cercare a str_replace().
$permalink = get_permalink();
$find = array( 'http://', 'https://' );
$replace = '';
$output = str_replace( $find, $replace, $permalink );
echo '<p>' . $output . '</p>';
Il codice sopra non gestisce la parte www(.), ma il principio dovrebbe essere chiaro.
Un'altra possibilità per la manipolazione sono le funzioni PCRE (Espressioni Regolari Compatibili con Perl) di PHP, qui viene usata preg_replace().
$permalink = get_permalink();
$find_h = '#^http(s)?://#';
$find_w = '/^www\./';
$replace = '';
$output = preg_replace( $find_h, $replace, $permalink );
$output = preg_replace( $find_w, $replace, $output );
echo '<p>' . $output . '</p>';
usa get_permalink invece di the_permalink e manipolalo come preferisci tramite php.