Wordpress插件更新

时间:2012-02-07 04:26:04

标签: wordpress plugins updates

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

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

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

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

1 个答案:

答案 0 :(得分:2)

一些一般提示:

  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 ::自动加载');

  3. 在主题中创建一个“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;
    }
    }
    

    现在,在您的“Mainfolder”中,您可以放置​​所有类,并在主题文件中访问它们:例如,如果您有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上找到所有的信息:)