Wie kann ich einen Widget-Shortcode erstellen, um alle Widgets zu steuern?

Das wichtigste zuerst,

Ich mache ein Thema, in dem ich einige Widgets gemacht habe, die unten aufgeführt sind.

  1. Über mich Widget
  2. Abonniere mich Widget
  3. AD-Widget

Nun, was ich dachte, wenn ich mein Widget mit Shortcodes implementieren könnte.

Um Widgets mit Shortcodes zu implementieren, habe ich eine function erstellt, die die Widgets unter Verwendung des classnnamens implementiert, und es funktioniert gut, aber nicht wie erwartet.

Also, was ist das Problem?

Das Problem, Widgets, die ich in meinem Thema gemacht habe, sind verschieden voneinander.

Was ich meine?

Ich meine, dass My alle drei Widgets den Titel enthält, um anzuzeigen.

  1. Wenn ich das über uns Widget mit shortcode hinzufüge, gibt es mir den Fehler undefinierten Indextitel (mit dem Verzeichnisstandort meiner über uns Datei). Hinweis: die Lösung dieses Problems wird nachfolgend erwähnt.

  2. Wenn ich das Widget “Subscribe me” über den Shortcode hinzufüge, wird kein undefinierter Titelerrors angezeigt. Der Grund ist der Index ist gleich aber.

  3. In AD-Widget habe ich drei Fehler und sie sind nicht definiert Index ad_title, ad_img_url, ad_link_url. Ich weiß, warum die Fehler kommen -> Grund: Indexname sind unterschiedlich.

  4. Zwei weitere Dinge.

    1. Ich habe noch ein Problem mit mir Widgets und das ist das ist nur angezeigt, aber die über mich Inhalt ist nicht warum? Wenn ich versuche, zwei den Index über mich hinzuzufügen, dann wurde auch nichts gedruckt.

      extract(shortcode_atts(array( 'widget_name' => FALSE, 'title' => '', 'aboutMe' => '' // BY ADDING THE INDEX TITLE ), $atts)); 
    2. Der Fehler tritt nur für den Index in den Eingabefeldern auf. Es tritt nicht im Feld Textarea auf, das ich für mich verwendet habe.

    Wie habe ich das erste Problem getriggers?

    Ich habe das erste Problem getriggers, indem ich den Indexnamen hinzugefügt habe.

     function widgetShortcodes( $atts ) { global $wp_widget_factory; extract(shortcode_atts(array( 'widget_name' => FALSE, 'title' => '', // BY ADDING THE INDEX TITLE ), $atts)); // do shortcode actions here $widget_name = esc_html($widget_name); if (!is_a($wp_widget_factory->widgets[$widget_name], 'WP_Widget')): $wp_class = 'WP_Widget_'.ucwords(strtolower($class)); if (!is_a($wp_widget_factory->widgets[$wp_class], 'WP_Widget')): return '

    '.sprintf(__("%s: Widget class not found. Make sure this widget exists and the class name is correct"),''.$wp_class.'').'

    '; else: $class = $wp_class; endif; endif; $args = array( 'before_widget' => '', 'after_widget' => '', 'before_title' => '', 'after_title' => '' ); ob_start(); the_widget($widget_name, $atts, $args); $output = ob_get_contents(); ob_end_clean(); return $output; } add_shortcode( 'widget','widgetShortcodes' );

Was ich wissen will?

Ich möchte wissen, dass ich jeden und jeden Indexnamen hinzufügen muss, wenn ich ein neues Widget mit anderem oder neuem Index mache. Gibt es den einfachen oder dynamischeren Weg, dies zu tun?

Ich denke, ich habe eine und das ist die Shortcode für jedes Widget, aber das ist ein langer process.

Irgendwelche Suggestions würden geschätzt?

Übrigens möchte ich Ihnen mitteilen, dass ich diese Widget-Shortcode-function über diesen Link gemacht habe -> Ein Widget mit einem Shortcode aufrufen

AKTUALISIEREN:

Die function funktioniert nur für zwei in WordPress eingebaute Widgets und sie sind.

  1. Archiv
  2. Kürzliche Posts

und die function gibt keinen Fehler, aber auch keine Vorschau eines Ergebnisses

  1. RSS
  2. Tag_Cloud
  3. Nav_Menu_Widget

andere wp-classn lösen die Fehler aus.

  1. Kalender
  2. Kategorien
  3. Links 4.Meta 5.Seiten 6.Aktuelle Kommentare 7.Suchen (eine Suche von) 8.Text

Solutions Collecting From Web of "Wie kann ich einen Widget-Shortcode erstellen, um alle Widgets zu steuern?"