handleiding
Snippet: Meerdere excerpt lengtes in WordPress
door WordPress theming
inSnippet: Meerdere excerpt lengtes in WordPress
Ongetwijfeld bent u al eens tegen het probleem aangelopen, dat bij het ontwikkelen van een websites op meerdere "plaatsen" een samenvatting getoond moest worden van een (nieuws)bericht. In WordPress wordt dit "the_excerpt" genoemd. Nu is het niet geheel onwaarschijnlijk dat "the_excerpt" op de homepage, waar bijvoorbeeld de laatste drie berichten worden getoond, korter moet zijn dan in het algemene nieuwsoverzicht. Dit kan als volgt, kopieer de volgende code en plak deze in de functions.php van je actieve thema.
function tsd_lengte_1($length) {
return 15; }
function tsd_lengte_2($length) {
return 25; }
function leesmeer($more) {
return '...'; }
function tsd_excerpt($length_callback='', $more_callback='') {
global $post;
if(function_exists($length_callback)){
add_filter('excerpt_length', $length_callback);
}
if(function_exists($more_callback)){
add_filter('excerpt_more', $more_callback);
}
$output = get_the_excerpt();
$output = apply_filters('wptexturize', $output);
$output = apply_filters('convert_chars', $output);
$output = ' '.$output.' ';
echo $output;
}
Met bovenstaande code is de mogelijkheid gecreëerd om gebruik te maken van twee lengte's als excpert, namelijk 15 en 25 karakters lang. Deze kun je op de volgende manier inladen:
tsd_excerpt('tsd_lengte_1', 'leesmeer'); // eerste (15) lengte inladen
tsd_excerpt('tsd_lengte_2', 'leesmeer'); // tweede (25) lengte inladen
Het toevoegen van meer lengtes kan door de functie (tsd_lengte_x) te kopieren. Je krijgt dan bijvoorbeeld:
function tsd_lengte_3($length) {
return 35; }
Vind je dit bericht interessant?
Vind je dit bericht interessant? Dan zou ik het erg waarderen als je een like of andere "social-share" achter laat ;)