2012-02-07 84 views
0

我正在寻找一些与Wordpress工作的指导。我的公司最近决定转向使用Wordpress作为我们的主要开发平台。我习惯做OOP,并且看到Wordpress支持它,这非常棒。我确实有几个问题,我希望一些经验丰富的Wordpress开发人员能够回答。WordPress插件更新

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

2)从客户的角度看,是处理自定义内容的URL(例如,常见问题解答插件,使设计人员可以处理布局和客户端可以很容易地进入他们)的最佳方式。我最初的想法是创建一个cutom post类型,并通过它使slu make。然而,这样做的缺点是它们不能在页面部分更改url并在调用插件内容之前添加任何自定义内容。我的第二个想法是只使用短代码,但客户的垮台可能会意外地将其删除。还有另一种我失踪或更好的方式吗?

如果任何人有任何其他提示/建议,请随时离开他们。此外,任何与伟大的文章/资源的工作与WordPress的链接表示赞赏。

回答

2

的一般提示:

  1. 始终使用Codex。 WordPress的确有一个很好的文档。

  2. 的WordPress它很程序,但没有人能阻止你使用OOP。我真的建议你使用自动加载器。在您的wp-配置,您注册自动加载磁带机是这样的:

    定义( 'LIB_PATH',真实路径(目录名(FILE)) '/可湿性粉剂内容/主题/ yourtheme/lib目录');

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

    spl_autoload_register( 'MainFolder_Autoloader ::自动加载');

在主题中创建一个“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”你CAND将所有的类

现在,并访问他们的主题,并祝这样的:例如,如果你有一个Upload.php,你可以使用Mainfolder_Upload来访问它。你可以在你的课堂上放置所有你需要的公共抽象函数。

  1. 利用自定义帖子类型。我建议你Custom post type Ui plugin。它从很多工作中保护你。

  2. 利用Page templates

  3. 当你使用AJAX在你前面,使用管理员-ajax.php文件。更多信息here。当你需要添加一些js脚本时,使用wp enque script

  4. 了解hooks

  5. 也许你的客户端需要wp-admin中的一些菜单。在wp-admin区域中学习how to add administration menus

  6. 当您与数据库连接时,请使用全局$wpdb

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

  8. 玩得开心:) WordPress是真正的使用,你C和找到对谷歌:)

+0

我投你一起来,因为你给了这么多的信息大部分我已经知道的所有信息的,但你根本没有真正回答我的问题。 – ngreenwood6 2012-02-07 15:04:25

+0

:))thx,我知道我没有回答你的问题,但你说:“如果任何人有任何其他提示/建议,请随时离开他们”,所以我很乐意为您提供一些与Wordpress工作的技巧:) – zuzuleinen 2012-02-07 15:07:09

+0

尽管如此,我欣赏这些信息。 – ngreenwood6 2012-02-08 02:08:19