質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

870閲覧

wp_dropdown_categories()で初期状態の選択が反映されるようにしたい。

Lanz

総合スコア13

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2020/03/09 12:32

編集2020/03/12 12:59

前提・実現したいこと

現在、、WordpressでEvents ManagerとFullCalendarを使用してイベントを管理するサイトを作っています。

実現したいのは、Fullcalendarの絞り込み機能の、wp_dropdown_categories()で初期状態の選択が反映されるようにしたいです。

試したこと

wp-fullcalendar.phpの

php

1 <div class="wpfc-calendar-wrapper"><form class="wpfc-calendar"></form><div class="wpfc-loading"></div></div> 2 <div class="wpfc-calendar-search" style="display:none;"> 3 <?php 4 $post_type = !empty(self::$args['type']) ? self::$args['type']:'post'; 5 //figure out what taxonomies to show 6 $wpfc_post_taxonomies = get_option('wpfc_post_taxonomies'); 7 $search_taxonomies = !empty($wpfc_post_taxonomies[$post_type]) ? array_keys($wpfc_post_taxonomies[$post_type]):array(); 8 if( !empty($args['taxonomies']) ){ 9 //we accept taxonomies in arguments 10 $search_taxonomies = explode(',',$args['taxonomies']); 11 array_walk($search_taxonomies, 'trim'); 12 unset(self::$args['taxonomies']); 13 } 14 //go through each post type taxonomy and display if told to 15 foreach( get_object_taxonomies($post_type) as $taxonomy_name ){ 16 $taxonomy = get_taxonomy($taxonomy_name); 17 if( count(get_terms($taxonomy_name, array('hide_empty'=>1))) > 0 && in_array($taxonomy_name, $search_taxonomies) ){ 18 $default_value = !empty(self::$args[$taxonomy_name]) ? self::$args[$taxonomy_name]:0; 19 $taxonomy_args = array( 'echo'=>true, 'hide_empty' => 1, 'name' => $taxonomy_name, 'hierarchical' => true, 'class' => 'wpfc-taxonomy '.$taxonomy_name, 'taxonomy' => $taxonomy_name, 'selected'=> $default_value, 'show_option_all' => $taxonomy->labels->all_items); 20 wp_dropdown_categories( apply_filters('wpmfc_calendar_taxonomy_args', $taxonomy_args, $taxonomy ) ); 21 } 22 } 23 do_action('wpfc_calendar_search', self::$args); 24 ?> 25 </div>

ここのapply_filters('wpmfc_calendar_taxonomy_args', $taxonomy_args, $taxonomy )でフックし、

php

1function my_wpmfc_calendar_taxonomy_args( $taxonomy_args, $taxonomy ){ 2 $taxonomy_args['show_option_all'] = ''; 3 $taxonomy_args['selected'] = 5; 4 return $taxonomy_args; 5} 6add_filter( 'wpmfc_calendar_taxonomy_args', 'my_wpmfc_calendar_taxonomy_args', 10, 3); 7

selectedの値を、初期の状態にしたいidに変更したのですが、実際表示するとドロップダウンのタブがその状態になっているだけで、その絞り込みが適用されていないのです。これを適用するにはどうすれば良いのでしょうか。

お知恵を拝借できれば幸いです。よろしくお願いいたします。

##追記
ご指摘を受けた事に関して、
私の想定は、selectedとなった、タブに絞り込みが適用され、そのカテゴリ−のイベントだけが初期の状態から表示されていることでした。しかし、今の状態はカテゴリーごとに絞り込みされておらず、全てのイベントが表示されている状態です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kei344

2020/03/12 12:30

「ドロップダウンのタブがその状態になっているだけで、その絞り込みが適用されていない」は具体的にどういった状況なのでしょうか。「どうなると思って」「どうなったのか」を、具体的に記述されたほうが回答を得られやすいと思います。
guest

回答1

0

ベストアンサー

実際表示するとドロップダウンのタブがその状態になっているだけで、その絞り込みが適用されていないのです。

その絞込み機能がJavaScriptで作られているのだと思います。
ページのロードを待ってtriggerでchangeイベントを発砲してみてください。

【.trigger() | jQuery API Documentation】
https://api.jquery.com/trigger/

投稿2020/03/18 16:17

kei344

総合スコア69400

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問