the_content filter eller loop_start action i WordPress?
2009-05-11 @ 17:22Jag 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?