首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用do_shortcode

使用do_shortcode
EN

WordPress Development用户
提问于 2017-08-11 04:45:57
回答 1查看 1K关注 0票数 0

我试图在我的主题文件中添加一个短代码,当我这样做时,我会在前端得到以下内容:

警告: strpos()期望参数1是字符串,在第205行的/home2/wafg440adhss/public_html/wp-includes/shortcodes.php中给出数组

警告: /home2/wafg440adhss/public_html/wp-includes/shortcodes.php ()要求参数2为字符串,在第213行的preg_match_all中给出数组

警告:在第214行的/home2/wafg440adhss/public_html/wp-includes/shortcodes.php中,参数2不是array_intersect():

这是我在主题文件中使用的代码:

代码语言:javascript
复制
<?php echo do_shortcode([‘avatar_upload’]); ?>

这段代码被放置在我的主题中的表单-Edt-Account.php文件中,该文件位于wp-content/themes/mytheme/woocommerce/myaccount文件夹中。我认为放置代码的地方是因为当我在WooCommerce生成的" my-account.php“页面上时,我的主题是一个导航和一个名为”帐户详细信息“的页面,这个页面显示在my-Account.php上,最终结果是mydomain.com/ my -帐户/编辑-帐户。低,看,我是对的,它正好显示了我想要它的位置,to....but,它显示了错误!

我试图拉的短代码是来自WP用户阿凡达插件(免费版本,可以从Wordpress插件下载,添加新的和搜索它),以便用户可以上传自己的照片。插件说要使用以下代码将其添加到主题中:

代码语言:javascript
复制
<?php do_action('edit_user_avatar', $current_user); ?>

但是当我使用那个代码时,就没有什么可以提交和保存化身了。当我使用一个页面上的短代码时,它完美地工作,允许我提交和保存化身,但是它只能放在我的woocommerce的短代码的末尾,在我的帐户页面上,它不属于“帐户详细信息”导航,我不喜欢它。因此,由于使用了短代码函数,我想尝试将这些短代码添加到主题文件中,而不是给定的php代码中,但是我得到了这个错误。

有什么帮助吗?

EN

回答 1

WordPress Development用户

发布于 2017-08-11 05:14:57

根据Milo的评论,do_shortcode期望参数就像作为内容的一部分插入的短代码一样,因此您引用avatar_upload的尝试是错误的,应该是do_shortcode('[avatar_upload]');

此外,如果插件有相应的官方API,最好直接避免使用do_shortcode并调用相关的官方API,特别是因为基于上下文的处理方式可能与您的需要不同。

票数 2
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/276557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档