在 WordPress Meta Box 的前端检索相册图像值

2023-12-14

Summary:

我需要使用我自己的 html 照片库来执行此操作:

  • 有人建议我使用 MetaBox,所以我找到并安装了MetaBox.io 插件.
  • 接下来我生成了一个高级图像使用他们的网站编写代码并将其添加到functions.php,以便在后端显示上传者。
  • 但在前端,我无法检索图像的值。

函数.php(MetaBox.io 生成的代码):

add_filter( 'rwmb_meta_boxes', 'your_prefix_register_meta_boxes' );

function your_prefix_register_meta_boxes( $meta_boxes ) {
    $prefix = '';

    $meta_boxes[] = [
        'title'   => esc_html__( 'Untitled Field Group', 'online-generator' ),
        'id'      => 'untitled',
        'context' => 'normal',
        'fields'  => [
            [
                'type'             => 'image_advanced',
                'name'             => esc_html__( 'Image Advanced', 'online-generator' ),
                'id'               => $prefix . 'image_advanced_8hswqfsoqai',
                'max_file_uploads' => 40,
            ],
        ],
    ];

    return $meta_boxes;
}

CMS:

这是 CMS 的结果。创建一个新的图像字段。 CMS部分完成:

enter image description here

Frontend:

然后我从 MetaBox.io 获取了这段代码并将其放在 index.php 中但它什么也没打印:

<?php
$images = rwmb_meta( $field_id, array( 'size' => 'thumbnail' ) );
foreach ( $images as $image ) {
    echo '<a href="'.$image['full_url'].'"><img src="'.$image['url'].'"></a>';
}
?>

我的问题是:

如何在前端(在我自己的 HTML 中)显示 MetaBox.io 插件图像的值?我需要它们如下:

<div class="col-lg-6 img-grids mt-lg-0 mt-5 pl-lg-4">
    <img src="<?php echo get_template_directory_uri().'/assets/images/p1.jpg'; ?>" alt="" class="img-fluid radius-image" />
    <img src="<?php echo get_template_directory_uri().'/assets/images/p2.jpg'; ?>" alt="" class="img-fluid radius-image" />
</div>

注意:我没有简单地在帖子内容中添加画廊而是必须将画廊添加为元框的主要原因是因为我不需要画廊按原样显示,而是要检索画廊的各个值我自己的 html 代码中的前端。


感谢您遵循我的建议 所以我们在这里

$images = rwmb_meta ($field_id, array ('size' => 'thumbnail'));

我们有我们画廊收到的金额。

根据上面的代码,在页面模板文件内或循环内使用此代码。

<div class="col-lg-6 img-grids mt-lg-0 mt-5 pl-lg-4">

<?php

$untitled_meta = rwmb_meta('image_advanced_8hswqfsoqai' , '' , get_the_ID());

foreach ($untitled_meta as $image) {
    ?>

    <img src="<?= $image['full_url'] // Or Use url for crop size  ?>" alt="<?= $image['alt'] ?>"
         class="img-fluid radius-image"/>

    <?php
}
?>

The rwmb_meta函数有三个参数。

  1. 根据您的字段 ID 字段的第一个值 代码结构:image_advanced_8hswqfsoqai
  2. 并将下一个值留空以接收全部。
  3. 最后一个参数是我通过以下方式获得的页面 ID 或帖子get_the_ID()我们现在所在页面的 ID。

根据您之前的问题优化和使用页面这一页,我编写了以下代码,请粘贴(当然,如果您想使用页面模板)

第1步:添加一个函数在页面上构建元框并发布

将此代码放入functions.php如您所知归档

add_filter( 'rwmb_meta_boxes', 'compliance_students_gallery_meta_boxes' );

function compliance_students_gallery_meta_boxes( $meta_boxes ) {

    $meta_boxes[] = [
        'title'   => esc_html__( 'Untitled Field Group', 'online-generator' ),
        'id'      => 'untitled',
        'context' => 'normal',
        'post_types' => ['post', 'page'],
        'fields'  => [
            [
                'type'             => 'image_advanced',
                'name'             => esc_html__( 'Image Advanced', 'online-generator' ),
                'id'               => 'images_untitled',
                'max_file_uploads' => 40,
            ],
        ],
    ];

    return $meta_boxes;
}

现在您可以将图片库添加到页面和帖子中

步骤 2:在页面模板中显示包含此内容的同一文件Template Name: students当然,这只是针对在其他地方问过相关问题的你(这一页)

<div class="col-lg-6 img-grids mt-lg-0 mt-5 pl-lg-4">

    <?php

    $untitled_meta = rwmb_meta('image_advanced_8hswqfsoqai' , '' , get_the_ID());

    foreach ($untitled_meta as $image) {
        ?>

        <img src="<?= $image['full_url'] // Or Use url for crop size  ?>" alt="<?= $image['alt'] ?>"
             class="img-fluid radius-image"/>

        <?php
    }
    ?>
</div>

重要的提示如果您想在圆圈内或主页或帖子内显示,则应该是这种情况。

要显示图像或任何其他液体的量,您必须在 WordPress 查询中使用它。

在 WordPress 查询循环中使用的示例

<?php

$query = new WP_Query($args);
if ($query->have_posts()) {
    // some code here if you want.
    while ($query->have_posts()) {
        $query->the_post();
        ?>
        <div class="col-lg-6 img-grids mt-lg-0 mt-5 pl-lg-4">

            <?php

            $untitled_meta = rwmb_meta('image_advanced_8hswqfsoqai', '', get_the_ID());

            foreach ($untitled_meta as $image) {
                ?>
                <img src="<?= $image['full_url'] // Or Use url for crop size   ?>" alt="<?= $image['alt'] ?>"
                     class="img-fluid radius-image"/>
                <?php
            }
            ?>
        </div>
        <?php
    }
}
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 WordPress Meta Box 的前端检索相册图像值 的相关文章

  • PHP 数组到 JavaScript 数组

    假设我在 php 中有这个数组 cities array Caracas gt array air gt array 4 3 5 Working Days Saturday sea gt array 18 3 5 Days Wednesda
  • 是否可以在没有 Javascript(仅 CSS)的情况下执行相同的操作(悬停效果)?

    我正在尝试创建一个带有图标的按钮像这样 http jsfiddle net pRdMc HTML div div class icon div span Send Email span div CSS button width 270px
  • PHP比较两个字符串的随机位置

    PHP比较两个字符串 示例我得到了一串数字 1 2 2 1 and another is 2 1 2 1 结果是 true 因为它只是 1 2 2 1 和 2 2 1 1 的位置洗牌 但如果该值为 1 2 2 2 and another i
  • 在我的 php 网络服务器内副本中启用 mysqli

    正如这里所讨论的 mysqli 直接运行时有效 但通过 js ajax 运行时无效 https stackoverflow com questions 31523601 mysqli works when run directly but
  • 如何为 HTML5 音频元素制作加载栏?

    我正在尝试为 HTML5 音频元素制作一个加载栏 显示加载 缓冲的百分比 对于视频标签 可以使用以下方法进行计算 video buffered end 0 video duration 但我无法让它与音频标签一起使用 它只是返回一个固定值
  • 支持通过 OAuth 进行 Facebook/Twitter 身份验证的 CAS 服务器

    我正在寻找一个支持 Facebook Twitter 通过 OAuth 进行单点登录身份验证的 CAS 服务器 我检查过 JASIG CAS 服务器 但它看起来不支持它们 我的 java web 应用程序基于 Spring Security
  • JQuery 可滚动文本

    我正在寻找一个 jquery 插件 它将在可滚动框中绑定文本 大多数滚动插件都会转换浏览器滚动条 但我想保持它的原样和可用 这只是为了在较小的空间内包含大量的文本 就像这样page http www class pm files jquer
  • Jquery UI 日期选择器 设置默认日期

    我使用 jQuery UI 作为日期选择器 我想在字段中显示当前日期作为默认值 以下是我的代码 请帮助 From Date
  • PhpPresentation imagecreatefromstring():数据不是可识别的格式 - PHP7.2

    我正在尝试使用 PhpPresentation 来阅读sample pptx使用文档中为读者提供的简单说明进行文件处理 我得到 imagecreatefromstring Data is not in a recognized format
  • 如何使用 jQuery 通过 Ajax 发送复选框数组的值?

    我有一个包含很多表单字段的表单 12 x n 行 每行中的第一个字段 代表产品 是一个类似于以下内容的复选框
  • 在 php、ajax 或 javascript 中加载进度?

    任何人都知道如何在系统仍在服务器端获取数据的同时在客户端显示加载进度以及完成的百分比 例如 当我在客户端按下 确定 按钮时 它会调用服务器端从数据库收集数据 整个过程可能需要2到3分钟 如何在客户端显示加载进度 大约加载完成了多少 我怎样才
  • AngularJS 输入字段未从控制器内的 setTimeout 更新

    我正在使用 AngularJS 支持的页面 并且我需要在只读输入文本字段内显示正在运行的时钟 与data ng model 为了模拟运行的时钟 我使用了 JavaScript 调度程序setTimeout每 1000 毫秒调用一个函数 该函
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • array_merge 更改键

    我得到以下数组 arr array 6 gt Somedata 7 gt Somedata1 8 gt Somedata2 问题是 当我使用array merge array Select the data arr 它确实将数组键更改为 A
  • 纠正装饰器模式的一个大缺点

    不久前 我在重构一些游戏战斗代码时决定尝试装饰器模式 战斗者可以拥有各种被动能力 也可能是不同类型的生物 我认为装饰器可以让我在运行时以各种组合添加行为 因此我不需要数百个子类 我几乎已经完成了 15 个左右的被动能力装饰器 在测试中我发现
  • `ie9` - contenteditable false 在父级可编辑时不起作用

    我正在尝试制作内容可编辑和不可编辑的容器 用户可以通过 3 种方式使用它 他们可以将内容与non editable 他们可以将内容与editable 他们可以在不选择其中之一的情况下放置内容 可编辑 我正在努力实现以下目标 content
  • 响应式导航栏隐藏其下方的元素

    我创建了一个响应式导航栏 但它使下面的元素 Flexslider 插件 消失 在我制作导航栏之前 下面的 Flexslider 可以正常显示 但现在不行 导航栏的 z index 为 2 所以我不知道问题是什么 我应该如何 更改什么才能允许
  • gmail 不断阻止 PHPmailer 登录

    我将在接下来的 8 小时内部署一个网站 而 Gmail 刚刚停止接受 PHPmailer 登录我的帐户 起初 它在测试过程中工作了几个小时 然后 它就停止工作了 我已经允许所有允许不太安全的应用程序从 gmail 登录 但它仍然不允许 ph
  • openssl_pkey_get_details($res) 不返回公共指数

    我在用着这个例子 https stackoverflow com a 12575951 2016196使用 php 生成的密钥进行 javascript 加密openssl图书馆 但是 details openssl pkey get de
  • 搜索引擎如何找到相关内容? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Google 在解析网络时如何找到相关内容 例如 Google 使用 PHP 原生 DOM 库来解析内

随机推荐