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上找到所有信息:)