タグ付けされた質問 「options」

WPでは、 `options`はデータベースに保存されている変数に使用される用語です。オプションAPIを介してアクセスされます。

3
変数をadd_settings_section()コールバックに渡す方法は?
プラグインの各設定に対して、設定API関数呼び出しを可能な限り自動化しようとしています。オプション配列をループし、出力しadd_settings_section()、add_settings_field()十分に簡単です: add_settings_section(): $oenology_hooks_tabs = oenology_hooks_get_settings_page_tabs(); foreach ( $oenology_hooks_tabs as $tab ) { $tabname = $tab['name']; $tabtitle = $tab['title']; $tabsections = $tab['sections']; foreach ( $tabsections as $section ) { $sectionname = $section['name']; $sectiontitle = $section['title']; $sectiondescription = $section['description']; // Add settings section add_settings_section( 'oenology_hooks_' . $sectionname . '_section', $sectiontitle, 'oenology_hooks_' . …

2
オプションページでチェックボックスとラジオボタンを使用する方法
バカと呼んでも、どうやってやるのかわからない。テキスト入力の場合、私はただ: <input type="text" name="option_name" value="<?php echo get_option( 'option_name' ); ?>" /> そして、を使用してworkdpressにフックしregister_setting()ます。それから私はその価値を得ることができましたget_option('option_name')。チェックボックスとラジオボタンでどのようにすればよいですか?
16 options 

3
なぜ `wp_options`テーブルには` autoload`のインデックスがありませんか?
WordPressが提供する各ページの先頭には、オプションを取得するMySQL呼び出しがあります。 SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes'; autoload列にはインデックスがないため、MySQLはすべての行を検索する必要があります。 また、この回答のコメントには、インデックスがあってもパフォーマンスは向上しないというコメントがありました。 私のアプリケーションでは、多くの一時的な値を使用して、セッションの代替として機能しました。それらは素晴らしく機能し、私には独自のガベージコレクションルーチンがあります。wp_options表では、一時的な値(で始まる値_transient_)がすべてになっていることに気付きましたautoload=no。wp_options同時ユーザーの数が増えると、テーブルの行数が増えると思います。 テーブルがこのように設計されている理由を知りたい。また、特定のケースのインデックスを作成する必要がありますか?

1
多次元配列に格納された更新オプション
wp_options現在、多次元配列(profile_element_order)として保存されているテーブルにデータがあります。 a:12:{s:17:"img_base64_enable";s:1:"1";s:25:"moulding_combination_page";s:0:"";s:24:"moulding_collection_page";s:0:"";s:25:"idea_gallery_thumb_height";s:3:"200";s:24:"idea_gallery_thumb_width";s:3:"200";s:23:"collection_thumb_height";s:3:"200";s:22:"collection_thumb_width";s:3:"200";s:20:"profile_item_columns";s:1:"4";s:17:"idea_item_columns";s:1:"2";s:24:"collections_item_columns";s:1:"2";s:25:"combinations_item_columns";s:1:"4";s:21:"profile_element_order";a:5:{i:0;s:8:"Option 1";i:1;s:8:"Option 2";i:2;s:8:"Option 3";i:3;s:8:"Option 4";i:4;s:8:"Option 5";}} 私が達成しようとしているのは、profile_element_orderオプションを更新することです(それらのオプション内で)。これまでのところ、すべてがどのように見えるかです: function psort_save_order() { global $mouldings_options; $list = $mouldings_options['profile_element_order']; $new_order = $_POST['list_items']; $new_list = array(); // update order foreach($new_order as $v) { if(isset($list[$v])) { $new_list[$v] = $list[$v]; } } // save the new order update_option('profile_element_order', $new_list); die(); } add_action('wp_ajax_psort_update_order', 'psort_save_order'); データはDBテーブルに正しく投稿されています(失敗した試行の一部がのような新しいオプションエントリとして表示されるためmouldings_settings->profile_element_order)- update_option()特定のオプションだけの構文を理解するのに苦労しています。私は次のようなことを試しました( `mouldings_settingsが実際のオプション名であることを念頭に置いてください): …

4
シリアル化されたオプションをプログラムで更新する方法は?
プラグインオプションの更新を自動化したい。何度も繰り返すことがあります。 wp-cliの私は、このような単純なオプションを更新することができます知っています: php wp-cli.phar option update blog_public 1 ただし、一部のプラグインオプションは、シリアル化された文字列でオプションを保存します。 wp_optionsのシリアル化されたoption_valueの例: a:9:{s:4:"from";s:21:"xx@xxx.com";s:8:"fromname";s:51:"xxx";s:4:"host";s:13:"smtp.xx.com";s:10:"smtpsecure";s:3:"ssl";s:4:"port";s:3:"465";s:8:"smtpauth";s:3:"yes";s:8:"username";s:21:"xx@xxx.com";s:8:"password";s:13:"xxx";s:10:"deactivate";s:0:"";} これらのオプションを更新する方法は?
15 options  wp-cli 

3
ネットワーク設定画面で新しいサイト全体のオプションのフィールドを追加するにはどうすればよいですか?
私はプラグインに取り組んでおり、その一部には、WordPressネットワーク内のすべてのサイトに適用されるオプション値の設定が含まれます。値をwp_sitemetaテーブルに保存できるadd_site_optionおよびget_site_option関数については知っていますが、WordPressバックエンドの適切な場所にフィールドを配置する方法と、サイト全体の保存をインターセプトする方法がわかりませんそれが発生したときにadd_site_option呼び出しを挿入するための値。 最初の問題(フィールドの追加)では、通常、設定API、具体的にはregister_settingとadd_settings_fieldを使用します、新しいオプションをホワイトリストに登録してから、適切なオプションページにそのフィールドを挿入します。しかし、add_settings_fieldを使用して、バックエンドの新しいNetwork Adminセクションの[Settings]ページにフィールドを追加できるかどうか、ネットワーク管理ページに対して機能する代替機能がある場合、またはHTMLを手動で挿入するだけです。(フィールドをエコーアウトする関数を記述し、その関数を「wpmu_options」アクションに接続することで手動で実行できます。「wpmu_options」アクションは、ネットワーク管理の「設定」ページの最後で実行されます。その他はすべて手動で。) 2番目の問題は、おそらく、ユーザーが[ネットワーク管理設定]ページで[保存]をクリックしたときに実行されるアクションを見つけることですが、まだ見つかりませんでした。どんなリードも大歓迎です。 だから-考え?新しいネットワーク管理領域を介してプラグインのサイト全体のオプションを管理できるエレガントな方法はありますか?もしそうなら、それはどうですか?

1
オプションと設定の違いは何ですか?
そして、どれを使うべきですか? Options APIとSetings APIの違いは何ですか? 100を超える管理オプションを持つテーマがありますが、それらを登録および保存するにはどうすればよいですか?現時点では、オプションAPIを使用していますが、あまり満足していません。すべてのオプションが個別に登録されているため、多くのデータベースクエリが作成されます。 現在、WordPressのオプション/設定を保存する方法は3つあります。 1.オプションAPI-古い(最悪の)方法。 (私はすでにこれを使用しています) <form method="post" action="options.php"> <?php wp_nonce_field('update-options'); ?> // all the inputs <input type="hidden" name="action" value="update" /> <input type="hidden" name="page_options" value="option1,option2,option3,..." /> <p class="submit"> <input type="submit" value="<?php _e('Save Changes') ?>" /> </p> </form> そして、フロントエンドで: echo get_option('option1'); Looksいように見えますが、それが多数のオプションを保存する正しい方法だとは思いません(どうにかしてそれらをグループ化したいです)。 2.オプションAPI-大きな配列として1つのオプション。 ここでは、HTMLフォームを使用してこの配列を更新する方法がわかりません、誰か?私はそれが次のようになると信じています: $opt['option1'] = foo $opt['option2'] = …
14 options 

6
wp_optionsテーブルの一時的なレコードをすべて削除すると、サイトが壊れますか?
現在、私のサイトのwp_optionsテーブルには、500k以上のとんでもない一時的なレコードがあります。これにより、テーブルが頻繁にクラッシュし、私のサイトもクラッシュします。 一時的なレコードはすべてしばらくすると期限切れになると思いました。どのプラグインが原因で何が問題なのかはまだわかりません。ただし、このようにサイトが頻繁にクラッシュすることは望ましくありません。wp_optionsテーブル内のレコード数は、数週間前に大幅に20万以上に増え、現在は50万以上になっています。 %transient_timeout%レコードのみを削除する必要があります-現在のところ200,000以上ありますか? どんな助けでも大歓迎です。 2012年7月16日の更新 私は実際に一時的なレコードをすべて削除することでリスクを冒しました(最初に自分のサイトをバックアップしました)。それ以来、サイトのデータベースはクラッシュしていません:) 皆さま、ありがとうございました!

2
get_option関数はキャッシュされますか?
プラグインでは、次のコードを使用してデータベースからオプションを取得します。 $options = get_option('my_plugin_options'); プラグインのさまざまな機能でこれを10回使用すると、WordPressはデータベースに対して10個のクエリを実行しますか、それともHTTPリクエストごとに1回だけデータベースを呼び出して結果をキャッシュしますか

3
Settings APIの利点は何ですか?
私がWordPressで仕事をすることはほとんどない、と言ってこれを序文させてください。実際、WordPressでサイトを最後にやったのは2.2の間に戻ってきました。昨日、私はすべてをかなり混乱させ、基本的なメニュープラグインを機能させるために、ここでいくつかの質問をしました。 プラグインが完全に機能し、期待どおりに動作するようになったので、設定APIを使用するなど、機能と互換性を追加するために、あちこちで小さな変更を加えることにしました。しかし、このAPIのチュートリアルを読んで非常に短い時間で、私はかなり混乱しました。次に、この混乱を深め、サンプルを実装しようとしました。 。 何か間違ったことをしていない限り、Settings APIを使用するために理解していることから、PER SETTINGという新しい関数を作成する必要があります。これは、平均的なプラグインでは3〜5個の関数、より高度なプラグインでは最大数百個の関数を意味します。すべての適用可能な$_POST変数を配列に簡単にインポートし、混乱を避けることができる場合に、この多くの関数を記述して(そしてそれらを混乱させないように命名システムを開発するのは)馬鹿げているようです。 たぶん私は昔ながらですが、そこから得るものがない限り、私が書いているコードの量を3倍や4倍にする理由はわかりません。Settings APIを追加する前にオプションを管理する方法は次のとおりです。 function __construct() { /* constructor stuff */ $this->options = $this->db_options = get_option( 'de-menu-options' ); if( $this->options === false ){ $this->options = $this->defaults; } if (is_admin()) { add_action('admin_menu', array(&$this, 'admin_menu')); } /* more stuff */ // When WordPress shuts down we store changes …

5
ウィジェットオプションをウィジェットの「外部」で使用する
ウィジェットオプションにいくつかのパラメーターを保存して、別のページに渡します。ウィジェットは、Webサービスを呼び出すフォームです。 渡すオプションは、現在結果ページにハードコードされているWebサービスの認証です(テンプレートとして行われます)。したがって、それらはWebサイトユーザーから非表示にする必要があります。 ウィジェット/プラグインのコード: function widget($args, $instance){ extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? 'Choose a service' : $instance['title']); $lineOne = empty($instance['username']) ? '' : $instance['username']; $lineTwo = empty($instance['password']) ? '' : $instance['password']; # Before the widget echo $before_widget; // etc... 結果ページ... $url = "http://www.nhs.uk/NHSCWS/Services/ServicesSearch.aspx?user=".[USERNAME]."&pwd=".[PASSWORD]."&q=".$_POST['PostCode']."&type=".$_POST['ServiceType'].""; WPがどのようにハングアップするかをまだ学習しているので、n00bの質問には申し訳ありません。
13 options  widgets 

1
オートロードとオプションテーブルのパフォーマンス
テーブルのautoloadコラムで遊んでいoptionsます。自動ロードされた値がどのように使用されるかについての情報はあまり見つかりませんでした。私が試したprint_r($GLOBALS)、オートロードオプションが中に保存されていることやのこぎりを$GLOBALS['wp_object_cache']->cache['options']['alloptions']。 これらの変数にアクセスする別の方法はありますか? my_optionオートロードするように設定されたオプションに、異なるテンプレートで複数回(例:一度header.php、一度footer.php)アクセスする必要があるとしたら、どの方法が推奨されますか? $GLOBALS配列から取得しても大丈夫ですか(値がすでにここにあるため) get_option('my_option')一度使用して変数を再度グローバル化する必要があります get_option('my_option')毎回使用する(やる意味がわかりません) 他の何か
12 options 

2
ウィジェットフィールドデータを配列として保存する方法は?
私はウィジェットを作成しています、それは約10のIDを格納する必要があります。現在、次のフィールドメソッドを使用して、各IDを個別のフィールドに格納しています。ワードプレスでは、各フィールドのデータを個別に保存します。配列を使用して、たとえばすべてのフィールドのデータをワードプレスの1行だけに格納することは可能ですか? <input class="widefat" id="<?php echo $this->get_field_id('item1_id'); ?>" name="<?php echo $this->get_field_name('item1_id'); ?>" value="<?php echo $instance['item1_id']; ?>" /> <input class="widefat" id="<?php echo $this->get_field_id('item2_id'); ?>" name="<?php echo $this->get_field_name('item2_id'); ?>" value="<?php echo $instance['item2_id']; ?>" />

2
ウィジェットフォームフィールドを動的に追加する
WordPressウィジェットに動的にフォームフィールドを追加しようとしています。したがって、ユーザーがイベントに別の日付を追加する場合は、ボタンをクリックしてフィールドをさらに取得できます。 問題は、新しく作成した入力フィールドをデータベースに保存するにはどうすればよいですか? カスタム更新関数を作成する必要がありますか?任意のヒント? これはウィジェットがどのように見えるかです: これはウィジェット(これまでのところ)の私のphpコードです: class Spillelister extends WP_Widget { public function Spillelister() { $widget_options = array ( 'classname' => 'spillelister-widget', 'description' => 'Widget for å illustrere spillelister.'); parent::WP_Widget('spillelister_widget', 'Spilleplan', $widget_options); } // The actual widget user interface public function widget($args, $instance) { extract( $args, EXTR_SKIP); $title = ( $instance['title'] …

1
WordpressがMySQL文字セットと照合を低レベルでどのように処理するかを説明してください
質問のタイトルが示唆しているように、WordpressがMySQLの文字セットと照合オプションをどのように処理するかを理解しようとしています。以下に示すように、私にはあまり意味がありません... インストールページの指示に従ってWordpressをインストールしました。 https://codex.wordpress.org/Installing_WordPress 指示の一部として、コマンドライン、つまりコマンドでMySQLデータベースを手動で作成するためのアドバイスに従いました。 mysql> CREATE DATABASE databasename; Query OK, 1 row affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON databasename.* TO "wordpressusername"@"hostname" -> IDENTIFIED BY "password"; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec) mysql> EXIT さらに、指示どおり、「wp-config.php」ファイルを編集してUTF-8文字セットを使用しました。 define( 'DB_CHARSET', 'utf8' …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.