Ist diese korrekte Verwendung von Filtern in WordPress

Ich baue ein Plugin und ich bekomme Zweifel, ob der Code, den ich verwende, der richtige Weg ist, Dinge in Bezug auf WordPress Hooks und Filter zu tun.

Das Szenario besteht darin, dass der Code an einem bestimmten Punkt wissen muss, ob er das eine oder andere tut. Einfache Sache, ich könnte eine Option im Admin des Plugins verwenden. Aber um den Administrator des Plugins nicht zu überladen, und da diese Option wahrscheinlich von einem sehr kleinen Prozentsatz von Benutzern verwendet wird, entschied ich mich, keine GUI-Option zu haben und stattdessen diesen wahren / falschen Wert über Code einzustellen (das Genesis-Framework) benutzt diese Methode sehr oft).

Wir beginnen mit dem Standardwert in der Variablen:

$force_default_thumbnail = apply_filters( 'image_priority', FALSE ); // rest of logic goes here 

Die Variable beginnt also mit FALSE, und ein Benutzer des Plugins kann dies ändern, indem er einen Filter in der functions.php (oder als separates Plugin) des Themes wie folgt verwendet:

 add_filter( 'image_priority', 'my_force_default_thumbnail' ); 

Dies würde wiederum die folgende function auslösen, die auch in der Haupt-Plugin-Datei enthalten ist.

 function my_force_default_thumbnail( $force ) { return TRUE; } 

Wenn diese function ausgetriggers wird, ändert sich der Standardwert in wahr und die Logdatei des Plugins ändert sich aufgrund dieser Änderung.

Ich hoffe, ich habe es gut genug erklärt und freue mich auf Ihren Rat.

Solutions Collecting From Web of "Ist diese korrekte Verwendung von Filtern in WordPress"

Umm. Normalerweise stellen Leute hier Fragen, die mehr sind als Ja / Nein-Fragen, aber hey, ich bin ein Spiel.

Ja, dieser Code sieht gut aus für mich.

Ich hoffe, das hilft! 🙂

Beachten Sie auch, dass es eine integrierte function namens __return_true gibt, die genau so verwendet werden kann:

add_filter( 'image_priority', '__return_true' );

Einfach.

Beachten Sie auch, dass “image_priority” ziemlich generisch für einen Filternamen ist. Sie sollten Ihren Filternamen idealerweise den Namen des Plugins voranstellen, damit die Filter nicht miteinander in Konflikt geraten.