Die WP_Widget-class scheint beim Laden einer Seite oft ausgeführt zu werden

Ich habe ein Plugin, das die WP_Widget class erweitert. Es ist diesem Beispiel im Codex sehr ähnlich:

 class My_Widget extends WP_Widget { /** * Sets up the widgets name etc */ public function __construct() { $widget_ops = array( 'classname' => 'my_widget', 'description' => 'My Widget is awesome', ); parent::__construct( 'my_widget', 'My Widget', $widget_ops ); } /** * Outputs the content of the widget * * @param array $args * @param array $instance */ public function widget( $args, $instance ) { // outputs the content of the widget } /** * Outputs the options form on admin * * @param array $instance The widget options */ public function form( $instance ) { // outputs the options form on admin } /** * Processing widget options on save * * @param array $new_instance The new options * @param array $old_instance The previous options */ public function update( $new_instance, $old_instance ) { // processes widget options to be saved } } 

In meinem Plugin habe ich auch eine Widget-Methode:

public function widget( $args, $instance ) { error_log('run widget'); }

Ich habe festgestellt, dass das Fehlerprotokoll, wenn ich eine Frontendseite (wie die Startseite oder einen Post) lade, je nach Thema irgendwo zwischen 16 und 21 Mal ausgeführt wird (ich habe die Twenty Seventeen, Twenty Sixteen, und ein grundlegendes Unterstrich-Thema zum Vergleich.

Ich wollte sehen, ob das normal ist, also habe ich ein ähnliches error_log in die widget Methode des core /wp-includes/widgets/class-wp-widget-archives.php (das ist Zeile 45 dieser Datei, zumindest in WordPress 4.7.2). Es läuft genauso oft auf einer Front-End-Seite laden. Wenn beide Methoden protokollieren, werden die Protokolleinträge für jede Mischung zusammen anstatt nacheinander ausgeführt.

Ich habe versucht herauszufinden, ob dies das erwartete Verhalten ist, ob es konfigurierbar ist und / oder welche Auswirkungen es auf die performance hat. Ich kann die Ergebnisse meiner Methode zwischenspeichern, also ist es vielleicht kein Problem für diesen Fall, aber ich würde es gerne besser verstehen.

Solutions Collecting From Web of "Die WP_Widget-class scheint beim Laden einer Seite oft ausgeführt zu werden"