Ich habe ein autolinking script im netz gefunden und irgendwie nimmt er immer nur die letzte Arrayzeile.
Das heißt, er nimmt nur Superdry und wandelt das um. Kann mir jemand sagen woran das liegt?
Der Code ist in der Functions.php drinnen
Code
$keywords = array (
'auto' => 'http://www.auto.com',
'Jeans ' => 'http://www.hello.com',
'Jungs' => 'http://www.woot.com',
'Superdry' => 'http://www.thekjlkjkre.com'
);
function wcs_auto_link_keywords($string = '') {
global $keywords; //just for example
foreach ($keywords as $word => $link) {
$ret = preg_replace('@(?<=\W|^)('.$word.')(?=\W|$)@i', '<a href="'.$link.'">$1</a>', $string);
};
return $ret;
}
add_filter( 'the_content', 'wcs_auto_link_keywords' );
Alles anzeigen
Ich habe noch einen zweiten Code und der geht. letztenendes ist es ja das gleiche, nur ich frage mich halt, wieso das erste Script nicht geht und wo der Fehler liegt.
Code
// auto link keywords in post content and excerpt
function wcs_auto_link_keywords( $text ) {
$replace = array(
'Ebay' => '<a href="/angebote/ebay/">Ebay</a>',
'Superdry' => '<a href="/angebote/Superdry/">Superdry</a>',
'facebook' => '<a href="http://www.facebook.com">function</a>'
);
$text = str_replace( array_keys($replace), $replace, $text );
return $text;
}
add_filter( 'the_content', 'wcs_auto_link_keywords' );
Alles anzeigen