シェアオフィス6F
貸会議室6F

こんにちは。コワーキングスペース7Fの星野邦敏です。

WordPressを使うと、カテゴリー一覧アーカイブやタグ一覧アーカイブなどで、投稿日付順にソートされて並ぶと思います。
しかしながら、Webサイトやページによっては、別の何らかの規則によって記事の並び順を考えたい場合も多いと思います。

そこで、ここでは、新着情報も書くけれど、その中にイベント記事もあって、そのイベント一覧を、WordPressでカスタムフィールドを使い、イベントの終了日付順でソートして、かつ、イベントが終了したら【終了】と自動で表示する方法をご紹介したいと思います。

まずは、管理画面にデータベースにカスタムフィールドの入力枠を作ります。テーマのfunctions.phpに直接書く方法もありますが、意外に面倒なので、ここでは「Custom Field Template」プラグインを使います。

WordPressでカスタムフィールドを使い、イベントの終了日付順でソートして、かつ、イベントが終了したら【終了】と自動で表示する方法

 

その上で、WordPressのテーマテンプレート(下記は固定ページでテンプレートを作って書く場合です)に

<?php $list_cnt = 9; //記事数
$sticky = get_option('sticky_posts'); if ( !empty($sticky) ) $list_cnt -= count($sticky); ?>
<?php query_posts('posts_per_page=' . $list_cnt . '&paged='.$paged . '&meta_key=終了日&orderby=meta_value&order=DESC'); ?>
<?php while ( have_posts() ) : the_post(); ?>
ここにWordPressのテンプレートタグなど
<?php endwhile; ?>

と書きます。

「&meta_key=終了日&orderby=meta_value&order=DESC」
部分が肝でして、これで、投稿日付順ではなくて、カスタムフィールドに入力した終了日の日付順で、未来の日付の記事が一番上に来るようになります。

 

その上で、例えば、

<h2><a href="<?php the_permalink(); ?>">
<?php $end = get_post_meta($post->ID,'終了日',true); ?>
<?php if (strtotime(date('Y-m-d')) > strtotime($end))
{
echo '【終了】';
}
?>
<?php the_title(); ?></a></h2>

と書けば、記事タイトルの横に、イベントが終われば自動で【終了】と表示されます。

 

そのような実装で出来たページが、私達が制作をしたWebサイトとしては、例えば、
コンフォルト | インテリアの心地よさをつくる
の中の
開催中のイベント | コンフォルト
というページです。
このWebサイトも、このコワーキングスペース7Fと同じ独自のWordPressテーマをベースとして制作しています。

上記のような実装は特殊なので、より汎用化したWordPressテーマの公開準備をしていますので、公開した際にはぜひ使ってみてください!

スポンサーリンク

スポンサーリンク

この記事を書いた人

コワーキングスペース7Fの運営代表者です。7Fの運営会社である株式会社コミュニティコムの代表取締役でもあります。2012年12月1日に7Fがオープンしてから2014年4月末まで店長も兼ねていましたので、外出予定が無い日は基本毎日いましたが、現在は山下に店長を任せ、オーナー兼利用者となりました。今はもともとの本業のITの仕事と、コワーキングスペースに絡んだ創業支援や地域おこしの仕事が中心です。下のフロアを増床することになり、シェアオフィス6Fと貸会議室6Fの運営もしています。趣味は自分の思い付いたWebサービスを自分で自由に開発することです。



メールマガジン登録

週1回程度でメールマガジンにて、コワーキングスペース7Fのイベントや勉強会情報や近況、Web関係や地域情報などを配信しています。
もし良ければ以下のフォームにメールアドレスを入力して登録してくださいね!

7F情報をぜひフォローください!


スポンサーリンク

月額会員募集中の申し込みフォーム
イベント情報
会議室ご予約
オープンスペースご予約
無料見学ご予約
お問い合わせ
メールマガジン登録フォーム
フロアマップ
よくある質問
Amazonコワーキングスペース7Fのほしい物リスト
一時託児施設利用
7F大学
リブライズ
Eightどこでもスキャン計画
7Fスタッフ募集のお知らせ
シェアオフィス6F
貸会議室6F

混雑状況やイベント情報

サイト内検索