如何将简码插入现有的 html 元素(wordpress)?

Posted

技术标签:

【中文标题】如何将简码插入现有的 html 元素(wordpress)?【英文标题】:How to insert a shortcode to an existing html elements (wordpress)? 【发布时间】:2021-09-27 14:38:42 【问题描述】:

我需要在现有的 html 代码中插入一个短代码 [ajaxdomainchecker]

我尝试了以下代码,但显示错误。请告诉我如何添加短代码?

SyntaxError: Unexpected identifier:

<script>
    jQuery(document).ready(function()
        var sessionName = '<?php echo do_shortcode("[ajaxdomainchecker]"); ?>';
        jQuery(" .acf-field-60po7a8eu9444 p.description").html(sessionName);
    );
</script>

SyntaxError: missing ) after argument list

jQuery(' .acf-field-60po7a8eu9444 p.description').html('<?php echo do_shortcode("[ajaxdomainchecker]"); ?>');

SyntaxError: Invalid or unexpected token

jQuery(" .acf-field-60po7a8eu9444 p.description").html("<?php echo do_shortcode('[ajaxdomainchecker]'); ?>");

SyntaxError: Unexpected token

jQuery('.acf-field-60f5d9a279544 p.description').html(<?php echo do_shortcode('[ajaxdomainchecker]'); ?>);

现有代码(使用acf/frontend创建):

<div class="acf-field acf-field-textarea acf-field-60po7a8eu9444 elementor-repeater-item-b95d154" data-name="rtype_selection_desc" data-type="textarea" data-key="field_60po7a8eu9444">
    <div class="acf-label">
        <label for="acf-field_60po7a8eu9444">Enter Info</label>
    </div>
    <div class="acf-input">
        <p class="description">Search and Enter Info</p>
        <!-- how to add the short code here? -->
        <textarea id="acf-field_60po7a8eu9444" name="acf[field_60po7a8eu9444]" rows="8"></textarea>
    </div>
</div>

【问题讨论】:

isbe,在 php 代码运行后无法有意义地插入短代码。它需要在存​​储在数据库中的 html 代码中。当 wordpress 为页面内容生成 html 时,它基本上会进行文本替换 - 将 [shortcode] 替换为简码处理函数返回的输出。 嗨 anmari:啊,我明白了,谢谢你们的 cmets。我删除了 :after 并再次尝试,但仍然显示相同的错误。请告诉我如何解决这个问题? 【参考方案1】:

您对 do_shortcode() 命令的想法是正确的,但您可以像这样将它直接放入您的 PHP 文件中:

<?php echo do_shortcode("[ajaxdomainchecker]"); ?>

【讨论】:

您好:感谢您的评论。我需要将短代码放在现有的 html 元素中(在使用 acf 创建的 p 和 textarea 之间。你能帮我把它添加到这个地方吗?谢谢。 然后你可以把它放在一个短代码块中,因为它是这样做的。这是你的两个选择。 jQuery 在这里帮不了你。 wpbeginner.com/wp-tutorials/how-to-add-a-shortcode-in-wordpress 或 WYSIWIG 块(如果可用) 嗨 Jons:我试过了,但它显示了一个文本 [ajaxdomainchecker] 而不是加载短代码...i.imgur.com/bh2ZnDY.jpg 这个问题有什么解决方案吗?谢谢。 你可以在主题编辑器下编辑PHP文件吗?【参考方案2】:

您可以在帖子中添加短代码,以便在 ACF 输入中输入数据。并将您的简码设置为该字段的默认值。 “进行搜索并输入信息”标签作为另一个 ACF 字段,可帮助您随时更改标签的文本。

【讨论】:

以上是关于如何将简码插入现有的 html 元素(wordpress)?的主要内容,如果未能解决你的问题,请参考以下文章

用 WordPress (wpml) 中的简码替换元素或选择器

如何将数组值插入现有的 JSON 文档?

如何将 XElement 插入现有的 xml 文件?

如何将具有自定义枚举类型的数据从 csv 插入现有的 PostgreSQL 表

如何将现有的html文档转换为xhtml文档?

如何在非 wordpress 页面中调用简码?