Jag har ett plugin som jag senast slipade på för över en månad sedan. Det är ett ganska så advancerat plugin med mycket speciell funktionalitet som på sätt och vis kräver en annorlunda loop, eftersom att det är en custom post type som ska sorteras efter posternas metadata. Detta är egentligen inte ett problem eftersom att jag löst det genom att köra ett filter på pre_get_posts.
Det som gör det hela svårt är att jag vill att metadatan även skall påverka utdatan. Dessutom med lite mixtrat även utanför loopen. Detta skapar ett litet problem som jag ser det. Möjligheterna för att lägga en standard-template i pluginets mapp är inte uppbyggd särskilt bra, kanske beroende på att en sådan advancerad grej egentligen borde bakas in i temat. Men, nu valde jag att inte göra så, för att inte alltför hårt binda in pluginet i ett tema.
Lösningen är att knyta ett filter mot antingen mer specifika mål som single_template och archive_template alternativt den mer övergripande template_include. Funderar lite på vad som är det effektivaste sättet att koda. I dagsläget kör jag en tråkig lösning på det senare alternativet.
I jakten på en optimal lösning hittade jag en liten detalj som jag vill leka lite med.
do_action( "get_template_part_{$slug}", $slug, $name );
Det är inte lätt det här med att leka med WordPress-koden. Dels vill man hitta en bra lösning, och å andra sidan funderar man på om inte det är bäst att gå in i koden och göra förändringar. Mitt problem hade varit helt borta om man vid sidan av STYLESHEETPATH och TEMPLATEPATH i locate_template bara kunde slänga in en plugin-mapp att kolla i till sist. Men, det är inte tanken att temafunktionaliteten ska flytta in i pluginen, så det är väl en väl avvägd lösning som man får acceptera.