Een nieuwe 'theme' toevoegen aan SyntaxHighlighter Evolved

Om code te publiceren op mijn site maak ik gebruik van de wordpress plugin SyntaxHighlighter Evolved. Op de website van de maker staat ook beschreven hoe je een nieuwe theme kan toevoegen. Dat werkt prima, alleen als je wp-debug aan hebt staan zal je zien dat er ondanks de goede werking wel een waarschuwing door wordpress wordt gegeven: Notice: wp_enqueue_style was called incorrectly. Scripts and styles should not be registered or enqueued until the wp_enqueue_scripts, admin_enqueue_scripts, or init hooks.
Simpel gezegd komt dit doordat de code om een nieuw theme toe te voegen te vroeg gestart wordt. Door het in een functie in te pakken kan je dit voorkomen:
1 2 3 4 56 7 8 9
function yoursyntheme_enqueue_styles() { // voorkom: Notice: wp_enqueue_style was called incorrectly. wp_register_style( 'syntaxhighlighter-theme-yoursyntheme', content_url( 'path/to/your/theme.css' ), array( 'syntaxhighlighter-core' ), '1.2.3' // Een versie nummer, maakt niet uit wat. Het is om cache problemen te voorkomen ); };
Nu de stylesheet geregistreerd is kan moeten wel alleen de SyntaxHighlighter plugin nog op de hoogte stellen:
10 11 12 13 1415 16
add_filter( 'syntaxhighlighter_themes', 'your_function_name_here' ); function your_function_name_here( $themes ) { $themes['yoursyntheme'] = 'The Name Of Your Theme'; return $themes; }
En zo werkt alles helemaal foutloos. Ik heb van mijn theme welke je hierboven zit (het lijntjespapier dus) een plugin gemaakt. Deze is hier te downloaden. Je kan deze ook als basis gebruiken om je eigen theme te maken. Succes!