Frage

Ich füge diesen Filter hinzu, wenn die Bedingung wahr ist. Kann ich denselben Filter eine weitere Funktion hinzufügen, wenn die zweite Bedingung wahr ist oder die letzte die vorherige absorgt?

if(get_option('my_nofollow_flag'){
    add_filter('wp_insert_post_data', 'save_add_nofollow' );
}

if(get_option('my_second_option'){
    add_filter('wp_insert_post_data', 'another_function' );
}
War es hilfreich?

Lösung

Hi @Scott B:

Unbedingt. Dies ist Teil des Designs des Systems. Sie können so viele hinzufügen, wie Sie benötigen (andere Plugins.)

Das einzige Problem ist, wenn Sie möglicherweise zuerst angehen müssen, und dann müssen Sie möglicherweise die festlegen Priorität. Im folgenden Beispiel würde der dritte zuerst und der zweite zuletzt laufen:

add_filter('wp_insert_post_data','norm_priority_func'); // 10=default priority 
add_filter('wp_insert_post_data','run_last_funcn', 11 );  
add_filter('wp_insert_post_data','run_first_func', 9 );  

Wenn Sie Prioritäten festlegen müssen, können Sie natürlich einen Konflikt mit anderen Plugins führen, die eine Priorität höher oder niedriger stellen. Typische Orte, an denen dies passiert, ist, wenn Sie möchten, dass ein Haken entweder vor oder nach allen anderen läuft. Sind 0 und 100 ausreichende Prioritäten? Nicht, wenn ein anderes Plugin -1 und 101 verwendet wurde; Sehen Sie die Quandry? Wie auch immer, das ist normalerweise kein Problem, aber wenn es so ist, ist es so.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top