添加简码时未定义 WordPress 功能

Posted

技术标签:

【中文标题】添加简码时未定义 WordPress 功能【英文标题】:WordPress function undefined when adding a shortcode 【发布时间】:2021-11-02 08:13:12 【问题描述】:

我们想在wp_include/functions.php 中添加shortcode 的自定义函数。

这是函数:

function url_id() 
 
    $apiUrl = 'https:exampleurl.api.com/exemple123';

    $response = wp_remote_get($apiUrl);

    return wp_remote_retrieve_body($response);


add_shortcode('session_id', 'url_id');

但是我们收到了这个错误:

本网站出现严重错误。 详细了解如何对 WordPress 进行故障排除。

在阅读了更多故障排除文档后,我们在wp-config 中添加了这两行:

define( 'WP_DEBUG', true );

define( 'WP_CACHE', true );

然后我们得到这个错误:

致命错误:未捕获错误:调用 /home/c1624672c/public_html/woo/wp-includes/functions.php:18 中的未定义函数 add_shortcode() 堆栈跟踪:#0 /home/c1624672c/public_html/woo/wp -settings.php(111): require() #1 /home/c1624672c/public_html/woo/wp-config.php(104): require_once('/home/c1624672c...') #2 /home/c1624672c/ public_html/woo/wp-load.php(50): require_once('/home/c1624672c...') #3 /home/c1624672c/public_html/woo/wp-blog-header.php(13): require_once(' /home/c1624672c...') #4 /home/c1624672c/public_html/woo/index.php(17): require('/home/c1624672c...') #5 main 抛出 /home/c1624672c /public_html/woo/wp-includes/functions.php 第 18 行

本网站出现严重错误。详细了解 WordPress 疑难解答。

【问题讨论】:

【参考方案1】:

请更改短代码参数 session_id 因为 wordpress 中的 session_id 预定义函数请参阅打击或您的代码

add_shortcode('session_id', 'url_id');

但是当您更改 session_id 时,正确的代码将起作用。

【讨论】:

【参考方案2】:

如果您想向您的网站添加自定义短代码,可以通过自定义插件或在您的主题中完成(我怀疑您正在尝试这样做)。

不要编辑wp-includes/functions.php,而是将您的代码添加到wp-content/themes/<name-of-your-theme>/functions.php


您应该永远不要编辑 WordPress 的核心文件,其中包括 /wp-admin/wp-includes 中的所有文件。当您将来升级 WordPress 时,这些文件将被覆盖,您所做的任何更改都会丢失。

出现错误消息是因为您在 WordPress 完全加载并定义所有可用函数之前尝试使用 add_shortcode() 函数。

【讨论】:

以上是关于添加简码时未定义 WordPress 功能的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 中带有前缀的自定义字段的自定义简码

WordPress Shortcode(简码)介绍及使用详解

循环函数向变量添加不准确的值,并且在跟踪代码时未定义数组。怎么修?

添加类方法时未定义 module.exports

React - 使用外部 URL 时未定义地图功能

以编程方式添加到 collectionviewcell 时未启用按钮