if (!function_exists('get_previous_posts_link')) {
function get_previous_posts_link($label)
{
ob_start();
previous_posts_link($label);
return ob_get_clean();
}
}
dieser code, zum beispiel, prueft nur ob die artisteer-eigene funktion vorhanden ist, und wenn nicht, verwendet dann mit einem programmiertrick die entsprechende wortpress funktion, um diesen 'previous_post' - link als eine variabel zu erzeugen.
das ist jedoch genug information, um einen weiteren versuch zu starten:
der original code:
<?php
$prev_link = get_previous_post_link('« %link');
$next_link = get_next_post_link('%link »');
?>
versuchsweise (ohne garantie, dass es funktioniert)
anstelle des original codes einzusetzen:
<?php
$prev_link = get_previous_post_link('« %link');
$bits = explode('">',$prev_link);
$link_text = explode('</a>',$bits[1]);
$link_text[0] = substr($link_text[0],0,20);
$bits[1] = implode('</a>',$link_text);
$prev_link = implode('">',$bits);
$next_link = get_next_post_link('%link »');
$bits = explode('">',$next_link);
$link_text = explode('</a>',$bits[1]);
$link_text[0] = substr($link_text[0],0,20);
$bits[1] = implode('</a>',$link_text);
$next_link = implode('">',$bits);
?>
Alles anzeigen
wenn die artisteer-funktion in etwa dasselbe ausgibt, wie die entsprechende wordpress-funktion, dann besteht eine gute chance, dass es funktioniert.
das vorgehen ist, den totalen string in teile zu zerschiessen ( info zur php explode() funktion http://www.w3schools.com/php/func_string_explode.asp )
und dann den titel zu isolieren und kuerzen; und ales danach wieder zusammenzukleben ( zur php implode() funktion http://www.w3schools.com/php/func_string_implode.asp )
wenn alles generell funktioniert: wenn das ergebnis zu 'abgeschnitten' aussieht, kann man mit stringbearbeitung noch ein '...' am ende eines gekuerzten titels anhaengen (und kurze titel unveraendert lassen):
am beispiel des $prev_link:
$prev_link = get_previous_post_link('« %link');
$bits = explode('">',$prev_link);
$link_text = explode('</a>',$bits[1]);
if( strlen($link_text[0]) >= 20) :
$link_text[0] = substr($link_text[0],0,20).'…'; endif;
$bits[1] = implode('</a>',$link_text);
$prev_link = implode('">',$bits);