创建一个简单的插件以在 wordpress 帖子中显示 ACF(如果它们存在)

Create a simple plugin to show ACF in wordpress posts (if they exists)

在wordpress网站上安装了ACF插件并配置了一些自定义字段后,我想仅在我的帖子(文章)中存在ACF自定义字段时才显示它们。 我按照指南进行操作,但无法找到不使用子主题的方法。即使主题将在不丢失代码的情况下更新,我也需要创建一个执行操作。我想要一个简单的插件,可以将我下面的代码添加到我的帖子中。我对 php 还不是很熟悉。这是我在单个模板中插入的代码:

<div id="scheda-dettagli-vino" class="dettagli-vino">
                    <table>
          <tr>
                        <td>
                            <?php if (get_field('produttore'))
                            { echo '<img src="/downloads/area-di-produzione.png" />' , '<h3 style="display:inline; ">Area di produzione</h3>';}?>
                        </td>
                                    <td>
                                        <?php if(get_field('produttore'))
                                            {   echo the_field('produttore');}?>
                                        </td>
                                    </tr>

          </table>
                        </div>

首先需要在插件目录下创建一个文件夹,并创建一个扩展名为folder-name.php.

的文件

我分享了一个示例代码,您只需粘贴它。激活插件后。希望,努力吧。

示例文件夹名称:acf-helper

示例插件:acf-helper.php

<?php

/**
 * Plugin Name: ACF-Helper
 * Plugin URI: #
 * Description: Custom plugin for ACF.
 * Author: Monzur Alam
 * Version: 1.0.0
 * Text Domain: acf-helper
 * License: GPLv2
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 */

if (!defined('ABSPATH')) exit; // Exit if accessed directly

if (!function_exists('acf_helper_content')) {
    function acf_helper_content( $content ){
        if(is_singular('post')){
            ob_start();
            ?>
            <div id="scheda-dettagli-vino" class="dettagli-vino">
                <table>
                    <tr>
                        <td>
                            <?php 
                                if (get_field('produttore')) {
                                    echo '<img src="/downloads/area-di-produzione.png" />', '<h3 style="display:inline; ">Area di produzione</h3>';
                                } 
                            ?>
                        </td>
                        <td>
                            <?php 
                                if (get_field('produttore')) {
                                    echo esc_html(the_field('produttore'));
                                }
                            ?>
                        </td>
                    </tr>

                </table>
            </div>
            <?php
            return $content . ob_get_clean();
        }
    }
    add_filter('the_content', 'acf_helper_content');
}