Get_the_ID()在我的本地开发上工作,但不在临时服务器上工作

时间:2014-08-19 作者:tjoenz

很高兴看到针对WP的StackExchange!好的,我正在从piklist自定义帖子类型中提取图像和日期,我在本地也得到了这项工作,但当我将其移动到WPEngine时,我会得到一个白色页面,直到我取出代码。日期代码不会抛出空白页,但不会提取输入的日期。有人能告诉我是什么导致了这种情况吗?提前感谢!

CODE

single.php

<?php while ( have_posts() ) : the_post(); ?>

  <?php

    $image_ids = get_post_meta(get_the_ID(), \'my_media\', false);

    foreach ($image_ids as $image)
    {

      echo \'<img src=" \' . wp_get_attachment_image_src($image, \'large\')[0]  . \' "/>\';

    }
  ?>

  <?php echo get_post_meta(get_the_ID(), \'my_date\', true); ?>

  <?php get_template_part( \'content\', themeblvd_get_part( \'single\' ) ); ?>

  <?php themeblvd_single_footer(); ?>

  <?php if ( themeblvd_supports( \'comments\', \'posts\' ) ) : ?>
    <?php comments_template( \'\', true ); ?>
  <?php endif; ?>

<?php endwhile; ?>

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

问题在于这一部分:

wp_get_attachment_image_src($image, \'large\')[0]
在旧的PHP版本(如5.3及以下版本)中,不能引用条目([0]) 从函数的返回数组。问题是,PHP 5.3上的WP引擎仍然是reached end of life recently 并且不再获得安全更新。有关历史记录,请参见PHP 5.3 - Thanks for all the Fish.

您有两种选择:

找到所有出现的现代语法,并重写它们,使其与5.3兼容。在这种情况下:

$img_data = wp_get_attachment_image_src($image, \'large\');
$src = $img_data[0];
切换到更新的PHP版本,最好是5.5。如果你现在的主人不能做到这一点,那就找一个更好的。

结束

相关推荐