マーカーネット株式会社

WEB制作ブログ WEBデザイン、HTMLコーディング、PHP、スマートフォン制作などWEB制作全般に役立つ情報を発信していきます。

WordPress

<WordPress>公開終了日を実装する方法。

投稿日:2014年9月8日 更新日:

公開期間プラグイン「post-expirator」を使わずに
公開終了日を実装する方法をご紹介します。

「カスタムフィールド」に「公開終了」項目を追加し、
その条件を満たしていれば表示させる仕組みです。

【手順】
1)カスタムフィールドテンプレート に「公開終了」項目を追加します。
日付のフォーマットは yyyy/mm/dd にする。

[pubend]
type = text
size = 35
date=true
dateFormat = yyyy/mm/dd
label = 公開終了日(year/month/day)

[pubend_hour]
type = select
value = 00:00:00 # 01:00:00 # 02:00:00 # 03:00:00 # 04:00:00 # 05:00:00 # 06:00:00 # 07:00:00 # 08:00:00 # 09:00:00 # 10:00:00 # 11:00:00 # 12:00:00 # 13:00:00 # 14:00:00 # 15:00:00 # 16:00:00 # 17:00:00 # 18:00:00 # 19:00:00 # 20:00:00 # 21:00:00 # 22:00:00 # 23:00:00
default = 00:00:00
label = 公開終了日(hour)

2)次にWordPressのテンプレートを調整します。

<?php

// 本日日付、時を取得
$currnet_date = date_i18n( ‘Y/m/d’ );
$currnet_hour = date_i18n( ‘H:i:s’ );

global $post;
$args = array(
‘post_status’ => ‘publish’,
‘post_type’ => ‘specialdia’,
‘posts_per_page’ => -1,
// カスタムフィールドテンプレート’pubend’の値が本日より後の投稿
‘meta_query’ => array(
‘relation’ => ‘AND’,
array( ‘key’=>’pubend’,
‘value’=>$currnet_date,
‘compare’ => ‘>=’,
‘type’ => ‘DATE’
)
),
);
if(have_posts()) : query_posts( $args );
while (have_posts()) : the_post();

if ( post_custom(‘pubend_hour’) ) :
$pubend_hour = post_custom(‘pubend_hour’) ;
else :
$pubend_hour = ’00:00:00′;
endif;

if ( strtotime(post_custom(‘pubend’).””.$pubend_hour) >   strtotime($currnet_date.””.$currnet_hour) ) :
?>
<li><a href=”<?php echo “リンク先”?>” ><?php the_title(); ?></a></li>
<?php
endif;//
endwhile;
endif;
wp_reset_query();
?>

cronがつかえないサーバ環境などでお試しになってはいかがでしょうか。

-WordPress

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

Alt 【WordPress】カスタムフィールドで何でも出来る!カスタムフィールドの便利な使い方 その1

【WordPress】カスタムフィールドで何でも出来る!カスタムフィールドの便利な使い方 その1

WordPressでサイトを作る場合カスタムフィールドがとても便利ですよね! そして投稿ページで入力したカスタムフィールドの値を他のトップページや固定ページでも使いたい。なんて事があるかと思います。 …

ワードプレスのIDを可視化するためだけのシンプルなプラグイン

ワードプレスのIDを可視化するためだけのシンプルなプラグイン

WordPressの固定ページ、投稿記事、カテゴリやタグなどにはそれぞれユニークなIDがあります。 IDはWordPressが自動的に個別に割り当ててくれるため、普段は意識することはございません。 デ …

特定カテゴリにログイン保護を設定するワードプレスのプラグイン

特定カテゴリにログイン保護を設定するワードプレスのプラグイン

特定の固定ページをパスワード保護する機能はWordPressに先験的に用意されております。 ところが、あるカテゴリへの投稿を会員限定ページにしたい場合には、 どうすればよいのでしょうか? そんなときに …

ワードプレスの高負荷プラグインを可視化してくれるプラグイン

WordPressのプラグインは便利ですが、ついつい多用してしまいますと サイト全体のレスポンスが悪くなり、表示速度の低下を招いてしまいます。 そのような状態ではもはやプラグインの数が多すぎて、何を排 …

ワードプレスでどのテンプレートを使っているか見えるプラグイン

page.php や single.php は区別がついても archive.php や author.php になると どのテンプレートを利用しているか追跡するのに苦役を強いられるWordPress …