如何将图像和文本添加到 PHP 中?

Posted

技术标签:

【中文标题】如何将图像和文本添加到 PHP 中?【英文标题】:How to add image and text into PHP? 【发布时间】:2019-12-14 08:18:16 【问题描述】:

我正在尝试为我的新 WordPress 网站创建一个大图像 CTA。我创建了一个新的字段组并在 ACF 上创建了“组”类型。我已将函数放入 phpstorm,但没有显示我的图像、文本或链接。我假设我在函数中犯了一个错误,它是从 ACF 网站复制的

尝试使用 have_rows() 函数添加循环函数以及将 ACF 类型更改为中继器。没有任何工作,我不知道如何解决这个问题。请帮忙

 <?php if( have_rows('large_cta') ):

     while( have_rows('large_cta') ): the_row();

         // vars
         $image = get_sub_field('large_image');
         $link = get_sub_field('large_link');

         ?>
         <div id="hero">
             <img src="<?php echo $image['url']; ?>"  />
             <div class="content">
                 <?php the_sub_field('large_title'); ?>
                 <a href="<?php echo $link['url']; ?>"><?php echo $link['title']; ?></a>
             </div>
         </div>
         <style type="text/css">
             #hero 
                 background: <?php the_sub_field('color'); ?>;
             
         </style>
     <?php endwhile; ?>

 <?php endif; ?>

不显示任何结果。我附上了一张最终设计应该是什么样子的图片。 final design img

【问题讨论】:

您的字段在后端的命名方式是否相同? 是的。我不确定这是否是像最终设计一样创建组/块的正确功能! 【参考方案1】:

我已经尝试了您的代码,并对 ACF 字段和代码进行了一些更改。

您可以在模板中尝试以下代码

if (have_rows('large_cta')):
    while (have_rows('large_cta')): the_row();

        // vars
        $image = get_sub_field('large_image');
        $link = get_sub_field('large_link');
        $color = get_sub_field('color');
        ?>
        <div id="hero" style="<?php if ($image)  ?> background:url('<?php echo $image; ?>') center center no-repeat;<?php  else  ?>background: <?php echo $color; ?>;<?php  ?>">
            <div class="content">
                <h2><?php the_sub_field('large_heading'); ?></h2>
                <p><?php the_sub_field('large_title'); ?></p>
                <a href="<?php echo $link['url']; ?>"><?php echo $link['title']; ?></a>
            </div>
        </div>
        <style type="text/css">
            #hero 
                width: 100%;
                height:500px;
                display: block;
                position: relative;
            
            .content 
                text-align: center;
                position: absolute;
                top: 50%;
                color: #fff;
                left: 50%;
                transform: translate(-50%, -50%);
            
            .content h2 
                text-transform: uppercase;
            
            .content p 
                padding-bottom: 20px;
            
            .content a 
                background: #00BCD4;
                padding: 10px 30px;
                border-radius: 3px;
                text-decoration: none;
                text-transform: capitalize;
                color: #fff;
                font-weight: bold;
            
        </style>
        <?php
    endwhile; 
 endif;

【讨论】:

以上是关于如何将图像和文本添加到 PHP 中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将图像和文本添加到QLabel

如何将可编辑的文本和图像添加到threejs

如何将可编辑的文本和图像添加到threejs

使用 libgdx,如何将文本和图像添加到 ScrollPane?

如何使用 php 将人脸图像添加到视频中

如何将图像背景添加到不透明的文本中? [复制]