0

我已经使用WPAlchemy 类创建了自定义元框来为相关帖子添加选项。

以下代码是 WP-Admin 中的工作文件,并且只有当我将相关帖子添加到使用元框创建的自定义表单时才在前端。

但是,如果我将其留空,我会收到以下警告消息

警告:第 37 行 /homepages/9/d416241127/htdocs/tw/u2me/wp-content/themes/u2me/single.php 中的非法字符串偏移“主题”

这里第 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>';
  } ?>  
4

1 回答 1

1

采用

if ($my_meta['topics']) { 

作为

if (!empty($my_meta['topics'])) {

可能这会帮助你

于 2013-02-01T11:37:08.617 回答