サポート » 使い方全般 » 新着情報に更新内容を伝える方法。

  • 過去記事の投稿に関しての質問になります。

    現在、有料のテンプレートを使っています。

    トップに「新着情報」という最新記事を5件表示させる項目があります。

    ちなみにその欄は、
    [ 日付 カテゴリ名 記事タイトル ]
    という感じになっております。

    そこで、例えば過去に投稿した記事に追加情報を記述した場合、その内容を「新着情報」でお知らせする事は可能でしょうか?

    投稿記事のタイトルはそのままで
    例:[ 日付 カテゴリ名 〇〇〇の情報を追記しました。 ]
    みたいな感じにしたいと思っております。

    ちなみに、有料テンプレートのサポートに質問したところ、サポート対象外という事でした。
    「カスタムフィールドを使えば可能じゃないか?」
    といったような回答で自力で頑張ってとの事でした。

    「wordpress カスタム 更新情報 追加」
    などで検索して調べてみてはいるんですが、いまいち目当てのものが見つからず困っております。

    現在カスタムフィールドも使った事もなく、サイト作成にしても無知なもので、ここで質問させてもらいました。

    解決策がおわかりになる方いましたら、ご教授願えればと思っております。

    ちなみに、想定したものができるのであれば、プラグインなどでもかまいません。

    よろしくお願いします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • Wasaさん、こんばんは。
    前提として有料テンプレートということで、詳細の説明はできませんのでご了承ください。

    追加情報を一覧として出したいというご要望ですが、色々とやり方はあるかと思います。
    知識がなくても調べればどうにかできそうなやり方は以下の流れかと思います。

    ①カテゴリーを作成する。例:カテゴリー名「追加あり」
    ②「追加あり」カテゴリーの一覧をトップページに表示
     1.プラグインなどを使う方法
     2.wp list categoriesを使う方法
    ③記事を追加した際に「追加あり」カテゴリーをチェックする

    トピック投稿者 Wasa01

    (@wasa01)

    so-taro様、回答頂きありがとうございます。

    私の説明がわかりにくかったかもしれません。
    やりたかった内容ではない気がしますので、もう一度説明させてください。

    追加情報の一覧を表示したいわけではなく、「新着情報」の項目に表示される記事タイトルを任意の文面に変更したいという事です。

    例えば、過去記事に追記情報を入力し最新情報として再アップします。

    その時に、「新着情報」の項目にはその記事の[更新日:カテゴリ:記事タイトル]が表示されますが、
    再アップした記事に関しては、記事タイトルではなく追加した内容、いわゆる任意の文面を表示したいと思っております。

    例えば、
    映画のサイトだとして、「実写版〇〇〇」というタイトルの記事を書いたとします。
    その後、その記事に後から発表になった映画のキャストなどを追記し最新記事として更新します。

    その際に、「新着情報」の記事タイトルが「実写版〇〇〇」ではなく、「実写版〇〇〇のキャストが発表!」
    というような文面で表示したいと思っております。
    当然、記事へのリンクは「実写版〇〇〇」のページで、記事タイトルも「実写版〇〇〇」のままです。

    「新着情報」でこのようなカスタマイズができないかと思い質問させて頂きました。

    説明が下手で申し訳ありません。

    何か参考になるサイトや方法があれば教えていただきたいです。
    よろしくお願いします。

    実装したことはありませんが、需要としてはありそうなので、方法を考えてみました。

    考え方としては、以下のようになるかと思います。

    1.カスタムフィールドとして 「更新日」「タイトル」 の2つを作成

    2.「新着情報」を表示している部分の表示投稿を取得するクエリに
     上記で作成した「更新日」も加えるように修正し、並び順も変更

    3.「更新日」が入力されている投稿では、
     作成日の代わりに「更新日」を表示
     投稿タイトルの代わりに「タイトル」を取得し表示

    カスタムフィールドの追加や、それらの情報を取得・表示する方法、
    クエリへ働き掛ける方法などは
    個別に調べれば、情報はいろいろな方が公開してくださっていますし、
    Codexにも掲載されています。

    ご自分のやれることや理解の範囲などを確認しながら少しづつ進めてみてはいかがでしょうか?

    最も単純なのは、

    4. 記事をコピーし、タイトルを変更して投稿
    プラグイン「Duplicate Post」をインストール。
    該当記事で「新規下書き」(New Draft)を選択し、記事をまるごとコピー。
    タイトルを変更して、内容に追記項目をいれて公開

    プラグインの使い方
    参考:http://design-plus1.com/tcd-w/2013/02/duplicate_post.html

    だと思います。
    まぁ記事がそれだけ増えますけど、PHPコーディング要らないので。

    それ以外の方法ではテーマのテンプレート内にてPHPコーディングが必要になりますし
    テーマが更新されたらそのコーディング部分が消えるかもしれません。
    有料テーマなのでサポートしてないと言われる以上、テーマ内テンプレートをいじるとおかしくなるリスクがあるので、理解してコーディングしないとトラブルの元になると思います。

    こんにちは、

    確かに、更新した記事に、何を変更したのか 書き添えてあると便利ですね。

    ただ、テーマの供給元でサポートできないとなると、このフォーラムでもサポート外になるし、有償テーマがどんなコードを書いているか皆目わからないので、情報は得られにくいですね。

    Twentysixteen用に、コードを書いてみたので 参考になれば、、、

    functions.phpに追加

    
    add_action( 'wp_print_styles', 'raindrops_post_mod_style', 11 );
    
    function raindrops_post_mod_style() {
    
    	$posts_array = get_posts( array('posts_per_page' => 5, 'orderby' => 'modified', 'order' => 'DESC',) );
    	$custom_css = '';
    
    	foreach($posts_array as $obj) {
    	
    		$custom_css	 = '';
    		$id			 = $obj->ID;
    		$sub_title	 = get_post_meta( $obj->ID, 'sub_title', true );
    		$mod_date	 = $obj->post_modified;
    
    		if ( ! empty( $sub_title ) ) {
    
    			$custom_css .= <<<CUSTOM_CSS
    				.post-{$id}  .entry-title:after{
    				content:"$mod_date $sub_title";
    				margin:0 1em;
    				display:block;
    				font-size:16px;
    				color:#e74c3c;}
    CUSTOM_CSS;
    	    }
    	
    	
    	}
    wp_add_inline_style( 'twentysixteen-style', $custom_css );
    }
    

    カスタムフィールド sub_title を、最近更新した投稿5件に表示するものです。

    PHPでやろうとすると、いろいろ面倒そうなので、動的CSSで表示するようにしています。

    • この返信は6年、 11ヶ月前にnobitaが編集しました。
    • この返信は6年、 11ヶ月前にnobitaが編集しました。

    訂正

    
    add_action( 'wp_print_styles', 'raindrops_post_mod_style', 11 );
    
    function raindrops_post_mod_style() {
    
    	$posts_array = get_posts( array('posts_per_page' => 5, 'orderby' => 'modified', 'order' => 'DESC',) );
    	$custom_css = '';
    
    	foreach($posts_array as $obj) {
    	
    
    		$id			 = $obj->ID;
    		$sub_title	 = get_post_meta( $obj->ID, 'sub_title', true );
    		$mod_date	 = $obj->post_modified;
    
    		if ( ! empty( $sub_title ) ) {
    
    			$custom_css .= <<<CUSTOM_CSS
    				.post-{$id}  .entry-title:after{
    				content:"$mod_date $sub_title";
    				margin:0 1em;
    				display:block;
    				font-size:16px;
    				color:#e74c3c;}
    CUSTOM_CSS;
    		}
    		
    	}
    	wp_add_inline_style( 'twentysixteen-style', $custom_css );
    }
    
    • この返信は6年、 11ヶ月前にnobitaが編集しました。
    トピック投稿者 Wasa01

    (@wasa01)

    Pineapplen様
    kimipooh様
    nobita様

    大変参考になる回答ありがとうございます。

    回答頂いた内容を元に、自力でがんばってみたいと思います。
    まだまだ理解に苦しむ部分が多々ありますので、また何か質問させてもらうかもしれません。

    その時はまたご教授頂ければ幸いでございます。

    よろしくお願いします。

    個人的な意見を。
    サイトの運営方法として@so-taro氏のカテゴリー案の方がいいのではないかなと思う。

    ただ追加ありとかじゃなくて、カスタム分類のタグ movienameとかつくって、
    追加する内容をひとつづつの記事にして、tag呼び出しで時系列の方がいいんじゃないでしょうか。、

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「新着情報に更新内容を伝える方法。」には新たに返信することはできません。