マーカーネット株式会社

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

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

関連記事

WordPressのテーマカスタマイズ時に私が必ず入れるプラグイン【Show Current Template】

WordPressのテーマカスタマイズ時に私が必ず入れるプラグイン【Show Current Template】

WordPressのテーマをカスタマイズする際に とても便利なプラグイン、Show Current Templateのご紹介。 「わーどぷれすっ!から引用」 Show Current Template …

FacebookとWordPressを連携させる方法

『WordPressで記事を投稿したタイミングで、Facebookにも反映させる方法』ですが、 頻繁に起こるFacebookの仕様変更や、WordPressプラグイン自体の更新停止などで 今までのやり …

wpdbは使わず、WordPressのデータベースから直接データを取得する方法

wpdbは使わず、WordPressのデータベースから直接データを取得する方法

今回は、wordpressのwpdbを利用できない環境で、phpのPDOを利用し、 selectする方法をご紹介いたします。 WordPressのサイトからフォームに記事IDとともに遷移し、フォームに …

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

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

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

ワードプレスをブルートフォースアタックからまもるために必要なプラグイン

ワードプレスをブルートフォースアタックからまもるために必要なプラグイン

WordPressをインストールするとユーザー名「admin」が自動的に割り振られ 変更できないバージョンもございました。 ハッキングする側はパスワードを当てるだけでログインすることが可能になります。 …