CG
(@du-bist-der-lenz)
3通りの活動の一覧を固定ページにまとめるのとは違いますか。
CG様
回答ありがとうございます。
活動名称はいくつもあり、名称もそれぞれ変わってきます。
記事を投稿したら自動で案内・報告へリンクがつくようにしたいです。
複数の投稿について同じカスタムフィールド値を設定して関連づけるのはどうですか。
当該記事のカスタムフィールドについて同じ値を持つ記事を検索してリンクを表示するなど。
いま以上に操作設定の条件がでてくるようであれば、いったん付箋などをつかってでページ動作をご確認など状況の整理をいただいたりしたのちがよいかと思います。
msio様
回答ありがとうございます。
そういうこともできるんですね。
カスタムフィールドで開催場所と日付を設定しているので、
日付で検索を行うと良さそうです。
試してみます。
引き続き、ご提案等お待ちしています。
色々と難しく考えずに普通の投稿に
親カテゴリー「組合活動」を追加し、子カテゴリに「案内」と「報告」を作成しました。
固定ページに一覧を表示させるのですが、
全部を表示させるのではなく、「案内」のみ一覧で表示し、
さらにその中にその記事に対する「報告」の記事へのリンクを貼りたいのですが、
どのように記述すれば良いのでしょうか?
ご教授お願い致します。
データベースは紙の書類の整理に似ています。
同じ命名規則の先頭の文字をとってスラッグにして記載するだけでもリンクになりえますしメタで同じフィールドのものを抽出すると関連記事であるといったようにもできます。
赤い付箋がついているものはは関連記事、黄色いものは何々、のような整理の方法も可能です。
実際に紙で整理してみてどうしても機械でないと無理という処理、たとえば同時に再利用ですとか集計とか他に分類されている同じ子要素を集計するなどはプラグインにあるか、もしくは工夫するかという順番で構成を考えることができると思います。
例えばスラッグを「anken01_honpen」として「anken01_annai」と「anken01_houkoku」というスラッグで記事をかけば抽出を必要とせず関連を構築できると思います。
「○○○○○_honpen」と付随するデータを固定値で書き出したり、ページが存在するかのワードプレス準備関数で確認したりで足りませんでしょうか。
miso様
ありがとうございます。
色々錯誤しまして、以下の形で希望通りの動きになりました。
(合っているのかどうか不安ですが・・・ちゃんと出力されてるので大丈夫かと・・・)
<?php
$parm = array(
'category_name' => 'activityguide', //カテゴリー案内を取得し表示
'showposts' => -1
);
$my_query = new WP_Query($parm);
?>
<?php if($my_query->have_posts()): ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
<tr>
<td data-label="開催日(予定日)"><?php the_field('activitydata'); ?></td>
<td data-label="組合活動の名称"><?php the_title(); ?></td>
<td data-label="開催場所"><?php the_field('activityplace'); ?></td>
<td data-label="ご案内"><a href="<?php the_permalink() ?>">ご案内</a></td>
<?php
$cflsn = get_post_meta($post->ID,'activitydata',TRUE);
// カスタムフィールドactivitydataの値を格納
?>
<?php
$parm = array(
'meta_key' => 'activitydata',
'meta_value' => $cflsn,
'category_name' => 'activityreport'
);
$sub_query = new WP_Query($parm);
// カスタムフィールドactivitydataで日付を取得し同じ日付、更にカテゴリー報告のリンクを吐き出す
?>
<td data-label="ご報告">
<?php if($sub_query->have_posts()): ?>
<?php while ($sub_query->have_posts()) : $sub_query->the_post(); ?>
<a href="<?php the_permalink() ?>">ご報告</a>
<?php endwhile; ?>
<?php endif; ?>
</td>
</tr>
<?php endwhile; ?>
<?php endif;?>
もし何か間違えていたり、問題がある場合はご教授ください。
ご要望について問題なく実現できていて、これでひとつの完成とされてよいと思います。