質問: フロントエンドサイドバーに現在の開始ウィジェットの情報を格納するデータベース上のoption_nameは何ですか? フロントエンドサイドバーに現在の開始ウィジェットの情報を格納するデータベース上のoption_nameは何ですか?
回答: 解決しました。 eamannが言ったことは正しいです。問題はwordpressのウィジェットシステムの設定にあります。テキストなどのマルチインスタンスウィジェットごとに、情報はさまざまなオプション名に格納され、各ウィジェットの値はシリアル化された方法で格納されます。トリックは、シリアル化されたテキストウィジェットの情報を格納する方法です。我々はheredocを使わなければなりません。 heredocを使用するのは、文字列に[']と["]を含める必要がある場合の状況を回避するためです。両方を1行で同時に使用することはできません。$serialize_sidebar_widgets = <<< eod a:7:{s:19:"wp_inactive_widgets";a:0:{}s:9:"sidebar-1";a:1:{i:0;s:6:"text-3";}s:9:"sidebar-2";a:0:{}s:9:"sidebar-3";a:0:{}s:9:"sidebar-4";a:0:{}s:9:"sidebar-5";a:0:{}s:13:"array_version";i:3;} eod; $serialize_widgets_text = <<< eod a:3:{i:2;a:0:{}i:3;a:3:{s:5:"title";s:5:"hello";s:4:"text";s:21:"saya hellokankamu yah";s:6:"filter";b:0;}s:12:"_multiwidget";i:1;} eod; これでデータベースにそれらを保存できます。$wpdb->update( $wpdb->options, array( 'option_value' => $serialize_sidebar_widgets ), array( 'option_name' => 'sidebars_widgets' ) ); $wpdb->update( $wpdb->options, array( 'option_value' => $serialize_widgets_text ), array( 'option_name' => 'widget_text' ) ); シモンズ:もし我々がマルチインスタンスウィジェットを保存するならば、その時我々はウィジェットがそれら自身の設定を持っていることを覚えておくべきです。たとえば、テキストウィジェットは 'widget_text'に格納されています。ps: phpでheredocを使う方法を読んでください 。