the_content filter eller loop_start action i WordPress?

2009-05-11 @ 17:22

Jag håller på att skriva ett plugin till en WordPress-tävling. I det pluginet har jag behovet av att placera innehåll ovanför post-innehållet. Jag har hittat två sätt att göra det på, båda med sina nackdelar tyvärr.

the_content filter

Första sättet var att filtrera posten med the_content filter. Här är koden som krävs:

add_filter('the_content', 'your_function');

function your_function($content)
{
    $content = 'Mitt innehåll' . $content;
    return $content;
}

Nackdelen med funktionen är att den inte bara filtrerar the_content utan även filtrerar the_excerpt vilket stör mig oerhört. Det går med if-satser att kolla vilken typ av sid man befinner sig på men det känns inte optimalt.

loop_start action

Andra sättet var att genom en action tillföra mitt innehåll ovan för post-loopen. Här är koden som krävs:

add_action('loop_start', 'your_function');

function your_function()
{
    echo 'Mitt innehåll';
}

Nackdelen med den här är att den placerar innehållet ovanför alla loopar. I mitt test la den även till mitt innehåll i min sidebar eftersom jag där har en loop. Det var inte vad jag hade tänkt mig.

Slutsats

Den här gången blev det att använda mig av the_content filter trots allt. Någon som har någon alternativ lösning som kan vara mer lämplig att använda?

Kommentarer är avstängt.