Wasaさん、こんばんは。
前提として有料テンプレートということで、詳細の説明はできませんのでご了承ください。
追加情報を一覧として出したいというご要望ですが、色々とやり方はあるかと思います。
知識がなくても調べればどうにかできそうなやり方は以下の流れかと思います。
①カテゴリーを作成する。例:カテゴリー名「追加あり」
②「追加あり」カテゴリーの一覧をトップページに表示
1.プラグインなどを使う方法
2.wp list categoriesを使う方法
③記事を追加した際に「追加あり」カテゴリーをチェックする
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で表示するようにしています。
訂正
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 );
}
Pineapplen様
kimipooh様
nobita様
大変参考になる回答ありがとうございます。
回答頂いた内容を元に、自力でがんばってみたいと思います。
まだまだ理解に苦しむ部分が多々ありますので、また何か質問させてもらうかもしれません。
その時はまたご教授頂ければ幸いでございます。
よろしくお願いします。
個人的な意見を。
サイトの運営方法として@so-taro氏のカテゴリー案の方がいいのではないかなと思う。
ただ追加ありとかじゃなくて、カスタム分類のタグ movienameとかつくって、
追加する内容をひとつづつの記事にして、tag呼び出しで時系列の方がいいんじゃないでしょうか。、