WordPress插件更新

WordPress plugin updates

我正在寻找有关使用Wordpress的指导。我公司最近决定转向使用Wordpress作为我们的主要开发平台。我已经习惯了OOP,并且看到Wordpress对它的支持非常棒。我确实有一些问题,希望一些经验丰富的Wordpress开发人员可以回答。

1。)我们的设计师喜欢修改来自插件的元素的布局。从插件更新的angular来看,解决此问题的最佳方法是什么,以使将来的更新不会覆盖所做的更改?我们可能会制作大多数自己的插件,并在可用时使用自定义内容类型。

2。)从客户端的angular来看,处理自定义内容的url的最佳方法是什么(例如Faqs插件,以便设计人员可以处理布局,客户端可以轻松地输入它们)。我最初的想法是创建一个自定义帖子类型,并通过它进行调试。但是,这样做的缺点是它们无法在调用插件内容之前更改页面部分的url并添加任何自定义内容。我的第二个想法是只使用短代码,但是这样做的缺点是客户可能会意外删除它。还有其他我所缺少的方法还是更好的方法?

如果任何人还有其他提示/建议,请随时离开。此外,任何与使用Wordpress的出色文章/资源的链接都将受到赞赏。


一些一般性提示:

  • 始终使用食典。 WordPress确实有一个很好的文档。

  • WordPress的操作很简单,但是没有人可以阻止您使用OOP。我真的建议您使用自动装带器。在wp-config中,您可以通过以下方式注册自动加载器:

    define('LIB_PATH',realpath(dirname(FILE))。'/ wp-content / themes / yourtheme / lib');

    需要LIB_PATH。 '/MainFolder/Autoloader.php';

    spl_autoload_register('MainFolder_Autoloader :: autoload');

  • 在您的主题中创建一个" lib"文件夹,并在lib目录中创建一个" MainFolder"。然后在MainFolder中,创建具有以下内容的Autoloader.php文件:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    class Autoloader
    {
    /**
     * Namespace.
     */
    protected static $namespaces = array(
        'MainFolder'

    );

    /**
     * @param string $className
     * @return string|false
     */
    public static function autoload($className)
    {
        if (($classPath = self::getClassPath($className)) !== false) {
            return include $classPath;
        } else {
            return false;
        }

    }

    /**
     * @param string $className
     * @return string|false
     */
    private static function getClassPath($className)
    {
        $parts = explode("_", $className);

        foreach (self::$namespaces as $ns) {
            if (count($parts) && $parts[0] == $ns) {
                $path = LIB_PATH . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $parts) . '.php';
                if (is_readable($path)) {
                    return $path;
                }
            }
        }
        return false;
    }
    }

    现在可以在" Mainfolder"中放置所有类,并按如下所示在主题填充中访问它们:例如,如果您有一个Upload.php,则可以使用Mainfolder_Upload访问它。然后,您可以将所有需要的公共抽象函数放在您的类中。

  • 使用自定义帖子类型。我建议您自定义帖子类型的Ui插件。它使您免于繁重的工作。

  • 使用页面模板。

  • 在前面使用ajax时,请使用admin-ajax.php文件。更多信息在这里。

  • 当需要添加一些js脚本时,请使用wp enque脚本。

  • 了解钩子。

  • 也许您的客户需要wp-admin中的某些菜单。了解如何在wp-admin区域中添加管理菜单。

  • 与数据库连接时,请使用全局$ wpdb。

  • 我不建议编辑外部插件文件。在更新时,他们可以删除您的修改。

  • 玩得开心:) WordPress确实很实用,您可以在google上找到所有信息:)