• お世話になります。

    以前に投稿した件での追加質問です。
    下記参照ページで
    http://ja.forums.wordpress.org/topic/2227/page/2
    最新の更新情報を表示可能にし、
    カスタムフィールドにテキストで「new」マークを追加したものは
    「を更新しました。」などカスタムで表示が出来ました。

    それで、一番最新の更新したページについては、
    自動で「NEWマーク」の画像がタイトル脇に表示されるようにしたいのですが、
    方法についてアドバイスをお願いいたします。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • ググると沢山出てきますが、新着記事のコードをページに応用するとか?

    http://ja.forums.wordpress.org/topic/4828?replies=4

    以前のコードを元に改造が必要なら

    $rep_contents .= "\t<li>&raquo;" . $my_time . " <a href=\"" . $my_permalink . "\">" . $my_title . "" . $res . "</a></li>\n";

    の部分を改造する必要がありますね。ただ、

    それで、一番最新の更新したページについては、
    自動で「NEWマーク」の画像がタイトル脇に表示されるようにしたいのですが、

    これは最新5件のうち1件のみNEWをつける方向でしょうかね?だとするともう少し改造が必要かもしれません。

    トピック投稿者 igarashi5620

    (@igarashi5620)

    そのとおりです。

    これは最新5件のうち1件のみNEWをつける方向でしょうかね?だとするともう少し改造が必要かもしれません。

    大変恐縮ですが、よろしくお願いします。

    function my_five_post_list($contents) {
    
    	if( is_page() && substr_count($contents, '[my_five_post_list]') != 0 ) {
    		$rep_contents = "\n<ul>\n";
    		$post_new = "<span class\"new_image\">NEW</span>";// 変数にNEWを入れる
    		$postslist = get_posts('orderby=post_date&post_type=page&exclude=5,29,31,36,38,40');
    		foreach ($postslist as $my_post) :
    			setup_postdata($my_post);
    $res = get_post_meta($my_post->ID, 'new', 'true');
    			$my_year = substr($my_post->post_date, 0, 4);
    			$my_month = substr($my_post->post_date, 5, 2);
    			$my_day = substr($my_post->post_date, 8, 2);
    			$my_time = date('Y年m月d日', mktime(0,0,0,$my_month,$my_day,$my_year));
    			$my_permalink = get_permalink($my_post->ID);
    			$my_title = $my_post->post_title;
    			$rep_contents .= "\t<li>&raquo;" . $my_time . " <a href=\"" . $my_permalink . "\">" . $my_title . $res . "</a>" . $post_new . "</li>\n";// aタグの後ろにNEWを追記。cssで画像に置換などご自由に。
    		$post_new = "";// 一度表示したら変数を空にして2件目以降は表示しない
    		endforeach;
    		$rep_contents .= "</ul>\n";
    		$new_contents = str_replace('[my_five_post_list]', $rep_contents, $contents);
    	} else {
    		$new_contents = $contents;
    	}
    
    	return $new_contents;
    }
    
    add_filter('the_content', 'my_five_post_list');

    もともと最新の記事を順番にリスト化していることを利用して、最初だけNEWを付加し、変数を空にすることで2件目以降はNEWが表示されないようにしてみました。少々強引な方法であるため汎用性はありません。未検証なためいろいろ試してみてくださいな;)

    トピック投稿者 igarashi5620

    (@igarashi5620)

    ありがとうございます。
    さっそく試してみます。

5件の返信を表示中 - 1 - 5件目 (全5件中)
  • トピック「更新情報リストに「NEWマーク」の画像を自動で追加」には新たに返信することはできません。