Bilden Sie einen Shortcode mit mehreren Optionen als Attribute

Ich habe ein großes MailChimp Subskriptionsformular mit Optionen zum Abonnieren von mehreren / separaten Kategorien, die von einer Shortcode-function zurückgegeben werden. Das Formular und der Shortcode sind in Ordnung, aber jetzt möchte ich, dass jede Formularkategorieoption ein separates Attribut als separates Attribut erstellt / zurückgibt, um die Möglichkeit zu haben, dieses Formular an verschiedenen Stellen mit unterschiedlichen Attributen / Optionen zu verwenden. Zum Beispiel: auf der Seite ” Abonnieren ” werde ich das vollständige Formular mit allen Optionen anzeigen, aber am Ende der Kategorieseiten oder am Ende jedes einzelnen Beitrags zeige ich das Formular mit einer Option an, nur die Kategorie dieses Beitrags zu abonnieren.

Ich weiß, wie man eine Shortcode-function mit Attributen macht und es gibt viele Beispiele, wie man das macht, aber ich kann nicht verstehen, wie man Attribute innerhalb eines Formulars verwendet, das selbst als Variable zurückgegeben wird. Irgendeine Hilfe?

PS Jede Kategorie Option hat die richtigen Optionen, täglich und wöchentlich , aber sie sind ein Teil der Kategorie Option, so dass sie nicht als separate Attribute / Parameter machen / zurückgeben müssen.

Ein Beispiel meiner Shortcode-function:

// The shortcode function function mailchimp_form_shortcode( $atts = [], $content = null ) { $mc_form=' 
'; return $mc_form; } add_shortcode('mailchimp', 'mailchimp_form_shortcode');

Solutions Collecting From Web of "Bilden Sie einen Shortcode mit mehreren Optionen als Attribute"

Sie können Shortcode-Attribute folgendermaßen verwenden:

 // The shortcode function function mailchimp_form_shortcode( $atts = [], $content = null ) { $attributes = shortcode_atts( array( 'option1' => 'no', 'option2' => 'no', ), $atts ); $mc_form = ' 
'; if( $attributes['option1'] === 'yes' ) { $mc_form .= ' '; } if( $attributes['option2'] === 'yes' ) { $mc_form .= ' '; } $mc_form .= '
'; return $mc_form; } add_shortcode('mailchimp', 'mailchimp_form_shortcode');

Achten Sie auf .= Notation.