【问题标题】:Wordpress plugin updatesWordpress 插件更新
【发布时间】:2012-02-28 13:41:33
【问题描述】:

我正在寻找有关使用 Wordpress 的一些指导。我的公司最近决定使用 Wordpress 作为我们的主要开发平台。我习惯于做 OOP,我看到 Wordpress 支持它,这很棒。我确实有一些问题希望一些经验丰富的 Wordpress 开发人员能够回答。

1.)我们的设计师喜欢修改来自插件的元素布局。从插件更新的角度来看,处理此问题的最佳方法是什么,以便在未来的更新中不会覆盖更改?我们可能会制作大部分自己的插件,并在可用时为它们使用自定义内容类型。

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

如果有人有任何其他提示/建议,请随时留下。此外,任何指向使用 Wordpress 的优秀文章/资源的链接都值得赞赏。

【问题讨论】:

    标签: wordpress plugins updates


    【解决方案1】:

    一些一般提示:

    1. 始终使用Codex。 Wordpress 确实有很好的文档。

    2. 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 文件,其中包含以下内容:

    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;
    }
    }
    

    现在,您可以在“主文件夹”中放置所有类,并像这样在主题填充中访问它们:例如,如果您有一个 Upload.php,您可以使用 Mainfolder_Upload 访问它。你可以在你的类中放置你需要的所有公共抽象函数。

    1. 使用自定义帖子类型。我推荐你Custom post type Ui plugin。它可以让您免于大量工作。

    2. 使用Page templates

    3. 当你在前端使用 ajax 时,使用 admin-ajax.php 文件。更多信息here

    4. 需要添加一些js脚本时使用wp enque script

    5. 了解hooks

    6. 也许您的客户需要 wp-admin 中的一些菜单。在 wp-admin 专区了解how to add administration menus

    7. 当您与数据库交互时,请使用全局 $wpdb

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

    9. 玩得开心 :) Wordpress 真的好用,你可以在 google 上找到所有信息 :)

    【讨论】:

    • 我投了你一票,因为你提供了很多我已经知道的信息,但你根本没有真正回答我的问题。
    • :)) thx,我知道我没有回答您的问题,但您说“如果有人有任何其他提示/建议,请随时留下”,所以我很乐意为您提供一些提示关于使用 Wordpress :)
    猜你喜欢
    • 2018-07-11
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 2013-07-27
    • 2015-09-09
    • 2014-03-19
    相关资源
    最近更新 更多