使用ACF和CPT UI循环处理图像对象[已解决]

时间:2017-12-03 作者:Brandon Benefield

答案

https://www.reddit.com/r/Wordpress/comments/7h7e9r/looping_through_image_object_using_acf_and_cpt_ui/

Rishadan reddit对这个问题给出了一个简单的答案。我正在找到WHY 但答案是$website_image = get_field(\'website_image\') 变量需要在while 环然后可以访问数组的不同属性,如下所示echo $website_image[\'url\']. 如果要在循环外部创建变量,则需要提供post_id 参数

问题

无法访问Image Object 从…起Advanced Custom Fields

预期结果应能够访问URLALT 具体来说,但想知道如何访问其余的

MAIN我在一个我正在工作的网站上有一个部分,我希望能够为该区域创建无限量的内容。所以我引入了高级自定义字段,创建了一个自定义帖子类型,编写了我的循环,现在我陷入了困境。

老实说,我对PHP不是很熟悉,我在不断学习。所以我知道,对于图像,ACF可以返回image object 您可以使用括号符号ie轻松访问任何键。

<?php    
$website_image = get_field(\'website_image\');
?>

<img src="<?php echo $website_image[\'url\']; ?>" alt="<?php $website_image[\'alt\']; ?>">
这只是一个非常简单的示例,但如果您将图像上载到具有图像类型的自定义字段,则可以如下所示显示图像。似乎在返回时Image Object 从ACF并在自定义帖子类型中使用它,此方法不起作用

<?php    
  // Notice the use of the_field() instead of get_field()
  $website_image = the_field(\'website_image\');
?>

<img src="<?php echo $website_image[\'url\']; ?>" alt="<?php $website_image[\'alt\']; ?>">
我意识到我可以简单地将图像用作Featured Image 这样就可以了,但我真的很想弄清楚这一点,以防我需要在一个帖子类型中添加多个图像。

ACF>投资组合网站图片

Field Label: Website Image
Field Name: website_image
Field Type: Image
Return Value: Image Object

自定义帖子类型>公文包网站

Post Type Slug: portfolio_sites
Plural Label: Portfolio Sites
Singular Label: Portfolio Site
内容组合。php
<?php

  $portfolio_header = get_field(\'portfolio_header\');
  $website_image = the_field(\'website_image\');

?>

<a name="portfolio"></a>
<section id="home-portfolio-section" class="container-fluid">
  <header class="row mb-5 pt-5">
    <h2 class="h1">
      <?php echo $portfolio_header; ?>
    </h2>
  </header> <!-- row -->

  <article class="row text-center">
    <div class="col-12">
      <div class="row">

        <?php
          $loop = new WP_QUERY(
            [
              \'post_type\' => \'portfolio_sites\',
              \'order\' => \'ASC\',
              \'orderby\' => \'ID\'
            ]
          );

          if ($loop->have_posts()) :
            while ($loop->have_posts()) : $loop->the_post();
        ?>
              <div class="col-12 mb-5 col-md-6">
                // This next line is the problem
                <img src="<?php the_field(\'website_image\'); ?>" alt="">
              </div>    
        <?php
          endwhile;
          wp_reset_postdata();
        endif;
        ?>

      </div>
    </div>
  </article>
</section>
尝试失败echo the_field(\'website_image\') 返回数组值的列表

46,
,
testservert-xs,
,
,
image/png,
http://localhost/wptest/wp-content/uploads/2017/11/testservert-xs.png,
575,
264,
Array
如果我尝试var_dump($website_image) 哪里$website_image = the_field(\'website_image\') 它返回NULL

A.var_dump($website_image) 哪里$website_image = get_field(\'website_image\') 退货bool(false)

1 个回复
SO网友:Daniel Fonda

the_field() 直接回显字段的内容。如果要使用the_field() , 您应该在acf设置面板(创建字段的位置)中将字段输出更改为url。

如果你想玩玩var_dump() 并从对象返回特定值,您应该使用get_field(\'field_name\').

所以在你的例子中,这看起来像这样:

<?php
    if(get_field(\'website_image\')):
    $wimg = get_field(\'website_image\');?>
    <img src="<?php echo $wimg[\'url\']; ?>">
<?php endif;?>

结束

相关推荐

Remove P tags from images

我使用的是WordPress 4.2.2,每次我向wysiwyg添加图像时,它都会将输出的图像包装在段落标记中。我需要去掉这些标签。我在网上找到的所有东西都是从2011年开始的,而且似乎都不起作用。我试着把东西放在函数中。php类:function filter_ptags_on_images($content){ return preg_replace(\'/<p>\\s*(<a .*>)?\\s*(<img .* \\/>)\\s*(<\\/a&g

使用ACF和CPT UI循环处理图像对象[已解决] - 小码农CODE - 行之有效找到问题解决它

使用ACF和CPT UI循环处理图像对象[已解决]

时间:2017-12-03 作者:Brandon Benefield

答案

https://www.reddit.com/r/Wordpress/comments/7h7e9r/looping_through_image_object_using_acf_and_cpt_ui/

Rishadan reddit对这个问题给出了一个简单的答案。我正在找到WHY 但答案是$website_image = get_field(\'website_image\') 变量需要在while 环然后可以访问数组的不同属性,如下所示echo $website_image[\'url\']. 如果要在循环外部创建变量,则需要提供post_id 参数

问题

无法访问Image Object 从…起Advanced Custom Fields

预期结果应能够访问URLALT 具体来说,但想知道如何访问其余的

MAIN我在一个我正在工作的网站上有一个部分,我希望能够为该区域创建无限量的内容。所以我引入了高级自定义字段,创建了一个自定义帖子类型,编写了我的循环,现在我陷入了困境。

老实说,我对PHP不是很熟悉,我在不断学习。所以我知道,对于图像,ACF可以返回image object 您可以使用括号符号ie轻松访问任何键。

<?php    
$website_image = get_field(\'website_image\');
?>

<img src="<?php echo $website_image[\'url\']; ?>" alt="<?php $website_image[\'alt\']; ?>">
这只是一个非常简单的示例,但如果您将图像上载到具有图像类型的自定义字段,则可以如下所示显示图像。似乎在返回时Image Object 从ACF并在自定义帖子类型中使用它,此方法不起作用

<?php    
  // Notice the use of the_field() instead of get_field()
  $website_image = the_field(\'website_image\');
?>

<img src="<?php echo $website_image[\'url\']; ?>" alt="<?php $website_image[\'alt\']; ?>">
我意识到我可以简单地将图像用作Featured Image 这样就可以了,但我真的很想弄清楚这一点,以防我需要在一个帖子类型中添加多个图像。

ACF>投资组合网站图片

Field Label: Website Image
Field Name: website_image
Field Type: Image
Return Value: Image Object

自定义帖子类型>公文包网站

Post Type Slug: portfolio_sites
Plural Label: Portfolio Sites
Singular Label: Portfolio Site
内容组合。php
<?php

  $portfolio_header = get_field(\'portfolio_header\');
  $website_image = the_field(\'website_image\');

?>

<a name="portfolio"></a>
<section id="home-portfolio-section" class="container-fluid">
  <header class="row mb-5 pt-5">
    <h2 class="h1">
      <?php echo $portfolio_header; ?>
    </h2>
  </header> <!-- row -->

  <article class="row text-center">
    <div class="col-12">
      <div class="row">

        <?php
          $loop = new WP_QUERY(
            [
              \'post_type\' => \'portfolio_sites\',
              \'order\' => \'ASC\',
              \'orderby\' => \'ID\'
            ]
          );

          if ($loop->have_posts()) :
            while ($loop->have_posts()) : $loop->the_post();
        ?>
              <div class="col-12 mb-5 col-md-6">
                // This next line is the problem
                <img src="<?php the_field(\'website_image\'); ?>" alt="">
              </div>    
        <?php
          endwhile;
          wp_reset_postdata();
        endif;
        ?>

      </div>
    </div>
  </article>
</section>
尝试失败echo the_field(\'website_image\') 返回数组值的列表

46,
,
testservert-xs,
,
,
image/png,
http://localhost/wptest/wp-content/uploads/2017/11/testservert-xs.png,
575,
264,
Array
如果我尝试var_dump($website_image) 哪里$website_image = the_field(\'website_image\') 它返回NULL

A.var_dump($website_image) 哪里$website_image = get_field(\'website_image\') 退货bool(false)

1 个回复
SO网友:Daniel Fonda

the_field() 直接回显字段的内容。如果要使用the_field() , 您应该在acf设置面板(创建字段的位置)中将字段输出更改为url。

如果你想玩玩var_dump() 并从对象返回特定值,您应该使用get_field(\'field_name\').

所以在你的例子中,这看起来像这样:

<?php
    if(get_field(\'website_image\')):
    $wimg = get_field(\'website_image\');?>
    <img src="<?php echo $wimg[\'url\']; ?>">
<?php endif;?>

相关推荐

https images not displaying

Setup嗨,伙计们!我有个奇怪的问题。我正在使用安装了ssl证书的wordpress Premium BeTheme。Problem问题是,虽然图像是用https上传到网站上的,但它们没有显示出来。如果我手动将图像的URL从https切换到http,它们就会开始显示。What I have done?我尝试过在internet上卸载ssl证书和几乎所有的解决方案,但都没有解决。Here is the URL of the website : https://uptimeelite.com/