Wie ersetzt man ein JavaScript-Auswahlfeld onchange-Ereignis zu einer Formular-Übermittlungsaktion?

Ich habe ein kleines Problem, das wahrscheinlich eine sehr einfache Lösung hat. Ich habe die function wp_get_archives() verwendet, um ein Dropdown-Auswahlformular zu erstellen. Siehe den vollständigen Code unten:

 
'monthly', 'format' => 'option', 'show_post_count' => 1 ) ); ?>

Ich möchte das verwenden den Senden-Button anstelle des Onchange-Ereignisses, um die Aktion auszuführen. Offensichtlich sollte ich das onchange Element entfernen und eine Formularaktion hinzufügen. Ich habe versucht, es so zu formatieren, wie es in meiner Dropdown-Liste für funktionale Kategorien der Fall ist.

 <form id="side-arch" action="" method="get">    'monthly', 'format' => 'option', 'show_post_count' => 1 ) ); ?>    

Dies funktioniert jedoch nicht. Ich vermute, dass etwas mit der URL in der Formularaktion nicht stimmt, da es mich nur auf die Homepage der Site schickt.

Hat jemand eine Idee, wie man das auf Go umstellen kann?

Solutions Collecting From Web of "Wie ersetzt man ein JavaScript-Auswahlfeld onchange-Ereignis zu einer Formular-Übermittlungsaktion?"

Es funktioniert nicht, weil:

  • Sie leiten nach Hause um
  • Sie hören nicht auf die $_GET Variable, sodass der $_GET einfach an Ihre Home-URL angehängt wird

Sie müssen eine function hinzufügen, die auf die $_GET Variable $_GET .

Füge das einfach zu deiner functions.php

 add_action( 'template_redirect', 'wpse_archive_select' ); function wpse_archive_select(){ if( isset( $_GET[ 'archive-dropdown' ] ) ){ die( wp_safe_redirect( $_GET[ 'archive-dropdown' ] ) ); } }