WPAlchemy クラスを使用してカスタム メタ ボックスを作成し、関連する投稿のオプションを追加しました。
次のコードはWP-Adminの作業ファイルであり、メタボックスで作成されたカスタムフォームに関連する投稿を追加した場合にのみフロントエンドでも機能します。
ただし、これを空のままにすると、次の警告メッセージが表示されます
警告: /homepages/9/d416241127/htdocs/tw/u2me/wp-content/themes/u2me/single.php の 37 行目に不正な文字列オフセット 'topics' があります
ここで37行目はif ($my_meta['topics']) {
つまり、この条件が false を返す必要がある場合に警告メッセージが表示されます。
次のコードを使用してカスタム メタを作成しました。
<?php while($mb->have_fields_and_multi('topics')): ?>
<?php $mb->the_group_open(); ?>
<?php $mb->the_field('title'); ?>
<label>Title</label>
<p style="margin-top:0px;"><input type="text" name="<?php $mb->the_name(); ?>" value="<?php $mb->the_value(); ?>"/></p>
<?php $mb->the_field('link'); ?>
<label>URL</label>
<p style="margin-top:0px;"><input type="text" name="<?php $mb->the_name(); ?>" value="<?php $mb->the_value(); ?>"/></p>
<p><a href="#" class="dodelete button">Remove Topic</a></p>
<br/>
<?php $mb->the_group_close(); ?>
<?php endwhile; ?>
上記のコードを使用して保存された値を表示するために、single.php で次のコードを使用しました。
<?php
$my_meta = get_post_meta($post->ID,'_related_topics_meta',TRUE);
if ($my_meta['topics']) {
echo '<ul class="hero-subtitle">';
foreach ($my_meta['topics'] as $topic) {
?>
<li><a href="<?php echo $topic['link']; ?>"><?php echo $topic['title']; ?></a></li>
<?php }
echo '</ul>';
} ?>