主题/插件声明的命名空间应该以主题/插件前缀开头。找到:“eustatos\\test_plugin”

时间:2019-07-27 作者:eustatos

我想在插件中使用名称空间。我在PHP\\u Code\\u Sniffer检查后出错。

主题/插件声明的命名空间应以主题/插件前缀开头。找到:“eustatos\\test_plugin“(WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedNamespaceFound)

我的文件夹结构:

.
└── test-plugin
    ├── composer.json
    ├── phpcs.xml
    ├── test-plugin.php
    └── vendor
// test-plugin.php
<?php

namespace eustatos\\test_plugin;
phpcs.xml 内容来自here
我必须如何命名命名空间?

1 个回复
SO网友:Yukihiko Shinoda

首先,我们需要更新phpcs.xml.

让我们更换"my_prefix" 使用您的插件名称(然后,假设"eustatos"):

    <rule ref="WordPress.NamingConventions.PrefixAllGlobals">
        <properties>
            <property name="prefixes" type="array">
                <element value="eustatos"/>
            </property>
        </properties>
    </rule>
然后,可以使用名称空间从eustatos 在项目PHP文件中。

例如:

namespace eustatos\\test_plugin;

cf

Customizable sniff properties · WordPress/WordPress-Coding-Standards Wiki

要执行此检查,必须通过自定义规则集中的$prefixes属性或通过命令行提供一个或多个应视为有效的前缀。

如果未设置此属性,则不会运行此嗅探。

<rule ref="WordPress.NamingConventions.PrefixAllGlobals">
  <properties>
      <property name="prefixes" type="array">
          <element value="my_prefix"/>
          <element value="tgmpa"/>
      </property>

  </properties>
</rule>

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。