hanatomikanさん、こんにちは。
下記のような感じでいかがでしょう。
テーマのfunctions.phpに追加
function get_nearly_shops( $place, $current_id ) {
if ( ! $place ) { return array(); }
$current_id = (int)$current_id;
$nearly_shops = get_posts( 'numberposts=-1&exclude=' . $current_id . 'meta_key=場所&meta_value=' . $place );
if ( $nearly_shops ) {
foreach ( $nearly_shops as $key => $shop ) {
if ( $shop_name = get_post_meta( $shop->ID, '店名', true ) ) {
$nearly_shops[$key]->shop_name = $shop_name;
} else {
unset( $nearly_shops[$key] );
}
}
}
return $nearly_shops;
}
function wp_nearly_shops( $place, $current_id ) {
$nearly_shops = get_nearly_shops( $place, $current_id );
if ( $nearly_shops ) {
echo '<ul>' . "\n";
foreach ( $nearly_shops as $key => $shop ) {
echo ' <li class="nearly_shop"><a href="' . get_permalink( $shop->ID ) .'">' . wp_specialchars( $shop->shop_name ) . '</a></li>' . "\n";
}
echo '</ul>' . "\n";
}
}
※ 半角&が&amp;にエスケープ表示されてしまい、修正できません。記述する際に直してください。
投稿テンプレートに記述
<?php $place = get_post_meta( $post->ID, '場所', true );
if ( $place ) {
wp_nearly_shops( $place, $post->ID );
}
?>
トピック投稿者
fuku
(@hanatomikan)
jim912様
ご教授ありがとうございます。
早速functions.phpとテンプレートに設置したところ思い通りの表示になりました。
本当にありがとうございました。