条件为false时获取PHP警告

时间:2013-02-01 10:33:13

标签: wordpress

我使用WPAlchemy class创建了自定义元框,为相关帖子添加了选项。

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

但是如果我把它留空,我会收到以下警告信息

  

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

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

1 个答案:

答案 0 :(得分:1)

使用

if ($my_meta['topics']) { 

AS

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

可能会帮助你

相关问题