2017-01-14 11 views
1

Wordpressでは、サイドバーにテキストウィジェットを作成すると、変数やデータベースに保存されたテキストの内容はどうなりますか?WordPressでテキストウィジェットのコンテンツが保存されていますか?

変数の場合は、どの変数ですか?

データベースの場合は、どのテーブルですか?

何か助けていただければ幸いです。

更新:

私は何を達成しようとしていることは、私は、ユーザーが自分のサイト上のテキストウィジェットを作成した場合はい、私はフェッチするためのプラグインをご希望の場合は、チェックするプラグインを作るということですそれは私のスペルチェッカーで実行し、更新されたコンテンツを元に戻し、テキストウィジェットの古いコンテンツを置き換えます。

だから、これはサイトの所有者が入力した私は、私はテキストウィジェットの正確なコンテンツにアクセスできる方法を知りたい理由です。テキストウィジェットの

答えて

3

コンテンツは option_name > widget_textwp_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ファイルにもあります。
コードはテストされ、完全に機能します。

参考:

+0

離れテキストウィジェットに入力された内容から、その列の多くのテキストがあります。それを取り除く方法や、列に他に何もないコンテンツが保存されている別のテーブルを取り除く方法はありますか? –

+0

この[link](http://www.unserialize.com/s/5f95f68b-c9f3-1829-3a23-00003a7c3e6b)をチェックすると、データは連想配列として格納され、 'text'キーで内容を見つけることができます。あなたは単一のテキストウィジェットまたはマルチテキストウィジェットを持っていますか? –

+0

私は複数のテキストウィジェットを持っています。あなたが示した配列..この配列を作るWPですか?はいの場合、どうすればそれにアクセスできますか? –

関連する問題