在类中使用Composer包-命名空间错误

时间:2020-08-25 作者:Zeth

我有我的主题,有一个名为classes的文件夹,只有一个类:

wp-content
|- themes
   |- mycustomtheme
      |- classes
         |- FooBar.php
在FooBar中,我想在这里使用此软件包:Soundasleep / HTML2Text.

使用方法如下:

In FooBar.php

  doSomethingBadass( $some_html ){
    wp_mail( \'[email protected]\', \'test\', \\Soundasleep\\Html2Text::convert( $some_html ) );
  }
但无论我做什么,我总是会犯这样的错误:

致命错误:未捕获错误:在/app/public/wp-content/themes/mycustomtheme/classes/FooBar中找不到类“soundsleep\\Html2Text”。菲律宾比索:60

<小时/>

My attempt

我认为这与名称空间有关。

我包括FooBar.php 通过在函数中要求类。php。

我该如何度过这一关?如果可能的话,请链接到一个文档或一个我可以解决这个问题的地方。我已经做了两个小时了。

<小时/>

Update

我把这些台词包括在内functions.php:

if( file_exists( get_template_directory() . \'/vendor/autoload.php\' ) ){
    require get_template_directory() . \'/vendor/autoload.php\';
}

1 个回复
最合适的回答,由SO网友:TomC 整理而成

您的代码使用条件:

if( file_exists())
因此,您确定使用了正确的路径autoload.php 因为如果找不到它,它将停止,并且您不会得到require?

我个人希望在wordpress安装之外看到您的供应商目录。

相关推荐

如何允许像PHP、SQL、HTML这样的代码到WPBakery VisualComposer?

我想允许textarea中的代码使用PHP、SQL或HTML编写代码。。。我想做的是在Visual Composer中创建一个元素,在这里我可以放置一些代码,在我写文章时显示它。您可以在此处找到类型值:https://kb.wpbakery.com/docs/inner-api/vc_map/但这些都不适合我。有正确的方法吗?array( \"type\" => \"textarea_html\", \"heading\" => esc_html__(\"Text\",