Oggi vi spiego come creare un auto link in wordpress, la prima cosa da fare e creare una funzione che si castonizza nel contenuto del tuo cms, nello script che vedete qui sotto e` stato creato un array che contiene la keyword di linkare e url di destinazione, poi tramite explode divide il contenuto e crea un secondo array che viene suddiviso in index che sono le parti spezzettate e il testo dell’articolo.
Come vedete hanno creato un secondo filtro dove evita i tag h, creano a questo punto leggendo un cerca all’interno del paragrafo e il link da inserire e ultima istruzione che e` preg_replace gli dice al tuo wordpress di cercare la parola del primo array e cambiare tutto con il comando che abbiamo dato $link_text come potete vedere ultimo richiamo e` il paragrafo cioe` il tuo articolo scansionato.
function link_words_in_posts( $content ) { $words_and_links = array( 'parola_da_linkare_1' => 'https://tuolinkbetterlinks1.com', 'parola_da_linkare_2' => 'https://tuolinkbetterlinks2.com', 'parola_da_linkare_3' => 'https://tuolinkbetterlinks3.com' ); // Array associativo di parole e URL a cui linkarle $apri_nuova_finestra = true; // Flag booleana per decidere se aprire i link in una nuova finestra $target = $apri_nuova_finestra ? ' target="_blank"' : ''; // Imposta l'attributo "target" del link $paragraphs = explode( '</p>', $content ); // Dividi il contenuto in paragrafi foreach ( $paragraphs as $index => $paragraph ) { // Ignora i titoli dei paragrafi if ( preg_match( '/<h\d+.*?>.*?<\/h\d+>/i', $paragraph ) ) { continue; } foreach ( $words_and_links as $word => $link ) { $search = '/\b'.preg_quote( $word, '/' ).'\b/i'; // Cerca la parola ignorando maiuscole/minuscole if ( preg_match( $search, $paragraph, $matches ) ) { $link_text = '<a href="'.$link.'"'.$target.'>'. $matches[0] .'</a>'; // Aggiungi il link solo se la parola non è già linkata if ( ! preg_match( '/<a.*?>'.$matches[0].'<\/a>/i', $paragraph ) ) { $paragraphs[$index] = preg_replace( $search, $link_text, $paragraph ); } } } } $content = implode( '</p>', $paragraphs ); // Ricompatta i paragrafi return $content; } add_filter( 'the_content', 'link_words_in_posts' ); // Applica la funzione a tutti i pos