WordPressの勉強がてら

WordPressの初心者が独学でホームページ作成したときの技術メモ

WordPressの勉強がてら

「Events Manager」でオリジナルのプレースホルダーを追加する

      2015/06/08

便利なイベントカレンダープラグイン「Events Manager」ですが、フォーマットを指定するときに使用するプレースホルダー機能があります。自分でオリジナルのプレースホルダーを作成したかったのでそのメモ。

これまでのEvents Manager関連記事
・「Events Manager」プラグイン を使ってイベントカレンダーを作成する
・「Events Manager」の検索フォームにイベント属性フィールドを追加する
・「Events Manager」の検索フォームにカスタム分類(カスタムタクソノミー)フィールドを追加する

 

やりたいこと

以下のオリジナルプレースホルダーを作成する

1.テーマのフォルダを示すプレースホルダー
2.カスタム分類の名前を示すプレースホルダー

 

1.テーマのフォルダを示すプレースホルダーを作成する

画像を指定したいときに”テーマフォルダ/images”を指定したかったけど、なかったので作成します。作成するプレースホルダー「#_TEMPLETEURL」とします。

function.phpに以下を追加。

function my_em_custom_placeholders($replace, $EM_Event, $result){
    switch( $result ){
        case '#_TEMPLETEURL':
            $replace = get_template_directory_uri();
            break;
    }
    return $replace;
}
add_filter('em_event_output_placeholder','my_em_custom_placeholders',1,3);?>

これだけです。
「#_TEMPLETEURL/images/test.png」とかすればテーマフォルダ以下のimagesフォルダへアクセスできるようになります。

 

2.カスタム分類の名前を示すプレースホルダーを作成する

つぎに、“「Events Manager」の検索フォームにカスタム分類(カスタムタクソノミー)フィールドを追加する”で作成したカスタム分類(music)を表示させるようにします。作成するプレースホルダーを「#_CUSTOMTAXONOMY」とします。

1.で追加したものと合わせてfunction.phpを以下のようにします。

function my_em_custom_placeholders($replace, $EM_Event, $result){
    switch( $result ){
        case '#_TEMPLETEURL':
            $replace = get_template_directory_uri();
            break;
        case '#_CUSTOMTAXONOMY':
            $replace = '';
            $event_id = $EM_Event->post_id;
            if( is_array($musics) && count($musics) > 0 ){
                $musics_list = array();
                foreach($musics as $music){
                    //検索フォームへのリンク post情報付加
                    $musics_list[] = $music->name;
                }
                $replace = implode(',', $musics_list);
            }
            break;
    }
    return $replace;
}
add_filter('em_event_output_placeholder','my_em_custom_placeholders',1,3);?>

こんな感じです。要は$replaceに出力させるたい文字列を入れて返しているだけです。foreach内をいじればリンク付けたり自分なりにいろいろ応用できると思います。

その他Events Managerの記事
・「Events Manager」プラグイン を使ってイベントカレンダーを作成する
・「Events Manager」の検索フォームにイベント属性フィールドを追加する
・「Events Manager」の検索フォームにカスタム分類(カスタムタクソノミー)フィールドを追加する
・「Events Manager」の絞り込み検索ページへリンク(条件込み)を張る方法 
・「Events Manager」の絞り込み検索フォームのリストの順序を変更する方法
・「Events Manager」で現在開催中のイベントを示すプレースホルダーを作成する

 - WordPress

  • このエントリーをはてなブックマークに追加

  関連記事

wordpress情報
管理画面(ダッシュボード)のメニューの表示/非表示を手動で操作する方法

Webサイト作成後、クライアントに引き渡すとき、管理画面から不要なメニューは表示 …

wordpress情報
「Events Manager」の絞り込み検索フォームのリストの順序を変更する方法

イベントカレンダープラグイン「Events Manager」について便利な絞り込 …

wordpress情報
カスタムフィールドの値をOR条件で抽出

カスタム投稿を作成した時に、カスタムフィールドの条件をOR条件で抽出したかったり …

wordpress情報
「Events Manager」の検索フォームにイベント属性フィールドを追加する

以前「Events Manager」の検索フォームにカスタム分類のフィールドを追 …

wordpress情報
「Events Manager」で現在開催中のイベントを示すプレースホルダーを作成する

以前に「Events Manager」でオリジナルのプレースホルダーを追加するに …

wordpress情報
使用しているテンプレートファイル名を表示

WordPressのテーマを自分て作成しているとき現在表示されているのがどのテン …

wordpress情報
「Events Manager」の絞り込み検索ページへリンク(条件込み)を張る方法

イベントカレンダーに欠かせないプラグイン「Events Manager」。今回は …

wordpress情報
特定のページのみSSLに対応させる

申し込みページに住所等の個人情報を入力する場合は、情報流出を防ぐためSSLを導入 …

wordpress情報
ショートコードやタグを登録して簡単に呼び出す

WordPressの記事を登録するときショートコードやタグなど手で打つのはめんど …

wordpress情報
会員専用ページをつくる

会員専用ページをつくるにあたり、いろいろなプラグインがある。今回クライアントの要 …