s-y-u
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: ダッシュボードのメニュー横に出る赤い丸の通知アイコンについてフォーラム: 使い方全般
返信が含まれるトピック: ダッシュボードのメニュー横に出る赤い丸の通知アイコンについてフォーラム: 使い方全般
返信が含まれるトピック: WP_Queryの検索結果がwp-cronと手動とで異なるWP_Queryで検索した値が手動とwp-cronの時とで異なる件で追記です。
パラメータに「post_status」を指定しない場合、手動の時、
[request]の値には
wp_posts.post_status = ‘publish’ OR
wp_posts.post_status = ‘future’ OR
wp_posts.post_status = ‘draft’ OR
wp_posts.post_status = ‘pending’ OR
wp_posts.post_status = ‘private’と5つのステータスがORで入るのですが、wp-cronではひとつだけの
wp_posts.post_status = ‘publish’
となっています。
WP_Queryはwp-cronと手動での実行とでは、検索結果が同じだと思っていたのですが、指定しないパラメータの入り方が異なるようです。
これはwp-cronでの実行と手動での実行とで検索結果が異なることに関係しているのでしょうか。
因みにプラグインはすべて外して、テーマはデフォルトのもので試しています。他の人には再現性のない自分だけの問題??
フォーラム: 使い方全般
返信が含まれるトピック: サイドバーにウィジェットをプログラムで自動的に登録したいグローバル変数の情報ありがとうございました。
この辺、ソースを見てもコメントがないのでなにがなにやらさっぱりです。
$wp_widget_factory を調べてみます。
しかし、ワードプレスおもしろい!フォーラム: テーマ
返信が含まれるトピック: テーマカスタマイザーのライブプレビュー機能についてnobitaさんとkjmtshさん情報ありがとうございました
意味が分かりました!
テーマカスタマイザーが今後なにかしら大きな発展をしていく予感と、ライブプレビューの現状が理解できました。
特にkjmtshさんの情報で腑に落ちました。今のところテーマが単純なので速さの違いを実感できないですが、複雑になると違いが分かりそうですね。調べてみるとテーマカスタマイザーはwp_optionに値を格納するための手段でしかないようなので、テーマと連動として独自にやるには自分でテーマに沿ったUIを作るというのもありかもしれませんね。
ありがとうございました。フォーラム: テーマ
返信が含まれるトピック: テーマカスタマイザーのライブプレビュー機能についてフォーラム: 使い方全般
返信が含まれるトピック: サイドバーにウィジェットをプログラムで自動的に登録したい情報ありがとうございました。
教えてもらったキーワードで調べてみました。
このような理解でよろしいでしょうか?1.サイドバーにウィジェットを自動的に登録するようなスタンダードな手段は用意されていない
2.ウィジェットの登録情報はwp_optionsテーブルに格納されている
3.ウィジェットはoption_nameがwidget_xxxで始まるレコードに格納されている
4.サイドバーはoption_nameがsidebars_widgetsのレコードに格納されている
5.登録情報には配列がシリアライズされた形で保存されている
なので、wp_optionsの該当する箇所を書き換えればよい!?
まず $wp_registered_widget_controls の値をvar_dump()して登録されているウィジェットのIDを調べる
global $wp_registered_widget_controls;
var_dump( $wp_registered_widget_controls );IDはウィジェット名にハイフンと番号が付くようですね。
xxx-1
2つ目は
xxx-2
みたいな。
次にget_option()でsidebars_widgetsでサイドバーに登録されている配列を取得して
$sidebar = get_option( ‘sidebars_widgets’ );
登録したいサイドバーにウィジェットのIDを追加して
$sidebar[ ‘サイドバー名’ ][0] = ウィジェット名xxx-1;
update_option()で更新を掛ける。
update_option( ‘sidebars_widgets’ , $sidebar );
これで、ウィジェットが目的のサイドバーに登録されていました。
ウィジェットを削除する場合は配列を削除すればウィジェットも削除される。
unset( $sidebar[ ‘サイドバー名’ ][0] );
update_option( ‘sidebars_widgets’ , $sidebar );登録するウィジェットの値を登録しておくにはget_option()でウィジェット名で配列を取得して
$widget_hoge = get_option( ‘widget_hoge’ );
配列を書き換えて
$widget_hoge[ ID番号 ] = array( ‘key1’ => ‘値1’ , ‘key2’ => ‘値2’ …… );
update_option()で更新を掛ける。
update_option( ‘widget_hoge’ , $widget_hoge );
削除はunsetで消して更新すればウィジェットの設定が消える。
unset( $widget_hoge[ ID番号 ] );
update_option( ‘widget_hoge’ , $widget_hoge );ID番号のところがウィジェットの数によって変わるようで、$wp_registered_widget_controls で調べておかないとダメみたいですね。