コンテンツは option_name > widget_text
下wp_options
テーブルに格納されています。シリアル化形式で
あなたはそれを得るために、このMySQLのクエリを使用することができます。
SELECT * FROM `wp_options` WHERE `option_name` = 'widget_text'
は
あなただけあなたが作成する必要があり、その後、テキストウィジェットの内容を取得したい場合はを更新しましたタイトルを知っていれば、コンテンツを返すカスタム関数です。ここで
はコードです:
function abc_getWidgetContentbyTitle($widget_title)
{
$contect = '';
$widgets = get_option('widget_text');
if (!empty($widgets)):
foreach ($widgets as $widget)
{
if ((!empty($widget['title'])) && $widget['title'] == $widget_title):
$contect = $widget['text'];
endif;
}
endif;
return $contect;
}
コードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルになります。また、任意のプラグインのPHPファイルにもあります。
使用
echo abc_getWidgetContentbyTitle('some txt widget 1'); //replace it with your title.
コードがテストされ、完全に機能します。
ご注意:を私はあなたがthis
のような値が(あなたの正確な要件を読んだ後)を更新したことを想定している
あなたが得るためにwidget_update_callback
フックを使用することができますユーザーが入力した内容を確認してから、スペルチェックを行い、更新内容で置き換えます。ここで
は一例です:
add_filter('widget_update_callback', function($instance, $new, $old, $obj)
{
if ('text' === $obj->id_base && !empty($instance['text']))
{
$title = $instance['title'];
$content = $instance['text'];
//...
//Now do your stuff and update $content.
//...
$instance['title'] = $title;
$instance['text'] = $content;
}
return $instance;
}, 10, 4);
コードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルになります。また、任意のプラグインのPHPファイルにもあります。
コードはテストされ、完全に機能します。
参考:
離れテキストウィジェットに入力された内容から、その列の多くのテキストがあります。それを取り除く方法や、列に他に何もないコンテンツが保存されている別のテーブルを取り除く方法はありますか? –
この[link](http://www.unserialize.com/s/5f95f68b-c9f3-1829-3a23-00003a7c3e6b)をチェックすると、データは連想配列として格納され、 'text'キーで内容を見つけることができます。あなたは単一のテキストウィジェットまたはマルチテキストウィジェットを持っていますか? –
私は複数のテキストウィジェットを持っています。あなたが示した配列..この配列を作るWPですか?はいの場合、どうすればそれにアクセスできますか? –