Fügen Sie Schlüssel und Wert zu einem Array in einer anderen Datei hinzu

In meiner Website verwende ich das Produkt Archiv Customizer Plugin für WooCommerce. Tolles Plugin. Es gibt jedoch eine Option, um die Anzahl der pro Seite angezeigten Produkte festzulegen. Der nächste Code ist dafür verantwortlich:

$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'wc_pac_products_per_page', array( 'label' => __( 'Products per page', 'woocommerce-product-archive-customiser' ), 'section' => 'wc_pac', 'settings' => 'wc_pac_products_per_page', 'type' => 'select', 'choices' => array( '2' => '2', '3' => '3', ---------- '23' => '23', '24' => '24', ), ) ) ); 

Ich möchte eine weitere Menge zum ‘Auswahl’ Array hinzufügen und mir wurde gesagt, dass es eine schlechte Übung ist, das in der ursprünglichen Plugin-Datei hinzuzufügen. In diesem Fall wird es mit einem Update des Plugins überschrieben.

Ich lese über viele verwandte Themen, aber ich kann es nicht unter meinen dicken Schädel bekommen.

Welchen Code muss ich meiner themes functions.php Datei hinzufügen, um das zu erreichen?

Solutions Collecting From Web of "Fügen Sie Schlüssel und Wert zu einem Array in einer anderen Datei hinzu"

Ich habe eine andere Lösung versucht und das hat den Trick gemacht. Ich habe in den WooCommerce-Dokumenten dieses kleine Snippet gefunden:

// Display 24 products per page. Goes in functions.php add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 24;' ), 20 ); .

Es überschreibt die Einstellungen im Customizer. Ich muss nur die Nummer ’24’ nach meinem Geschmack ändern.

Ich weiß nicht, welchen Hook Woocommerce verwendet, um diesen Customizer-Code hinzuzufügen, aber in Ihrer functions.php Sie Ihre eigene function zu einem späteren Zeitpunkt einhängen, so (die letzte Nummer hat die niedrigere Priorität):

 add_action ('the_name_of_that_hook','wpse_280836_mycontrol', 99) 

Jetzt in der function, die Sie haken, müssen Sie zuerst das vorhandene Steuerelement entfernen und Ihr eigenes hinzufügen:

 function wpse_280836_mycontrol () { $wp_customize->remove_control('wc_pac_products_per_page'); $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'wc_pac_products_per_page', array( 'label' => __( 'Products per page', 'woocommerce-product-archive-customiser' ), 'section' => 'wc_pac', 'settings' => 'wc_pac_products_per_page', 'type' => 'select', 'choices' => array( 'mystuff' => 'myotherstuff', '3' => '3', ---------- '23' => '23', '24' => '24', ), ) ) ); 

Bitte beachten Sie, dass ich nicht weiß, was diese Kontrolle macht, weil ich kein Woocommerce-Spezialist bin. Irgendwo anders im Code kann es eine Überprüfung geben, die nur die gegebenen Wahlen erlaubt. Das würde deine Änderung ungültig machen.