如何在WordPress 3.x中构建电影库

时间:2012-02-23 作者:cantera25

为了帮助我学习WordPress开发,我想“超越博客”,建立一个个人电影库——类似于IMDb,但规模要小得多。

我需要帮助了解如何在WordPress中进行项目以及我需要学习什么。

以下是我想在网站上做的事情:

当您访问演员页面时,会从数据库中检索并显示演员的电影。您可以按年份、标题、分级等对电影进行排序。您还可以单击电影标题转到该电影的页面。

当您访问电影页面时,将从数据库中检索电影中的演员,并显示电影摘要、我的分级以及我是否拥有DVD等信息。

在主页上,您可以搜索电影。例如,如果我想看一部80年代的喜剧,我可以搜索1980-1989年间发行的喜剧类型的电影以及我拥有的DVD。

我已经可以编写所需的所有PHP和MySQL了,但我不明白WordPress中的代码到底在哪里。例如

此应用程序是否需要构建插件,或者只是向我的主题添加代码?

每个演员的页面会被视为“页面”还是被视为帖子?

对于演员页面,检索电影列表的查询将转到哪里?

提交搜索表单时,处理搜索请求的脚本位于何处?

--

我只是在寻找WordPress如何处理这样的应用程序的正确方向。提前感谢!

1 个回复
最合适的回答,由SO网友:kaiser 整理而成

Plugin vs.Theme vs.MU Plugin vs.Drop-In

»此应用程序是否需要构建插件,或只是向我的主题添加代码?«

基本上这四个都是一样的。它们只有两点不同:

位置和

  • MU-Plugins 都在mu-plugins 文件夹中有插件plugins 目录中的下拉列表wp-content 作为文件夹外的单个文件的文件夹主题位于themes 目录和/或您通过注册的任何其他目录register_theme_directory(); (这应该在一次访问中完成)

    MU插件-可以访问\'muplugins_loaded\'\'plugins_loaded\'\'after_theme_setup\'

…以及后来的挂钩。

自定义帖子类型是将每个参与者的页面视为“页面”还是将其视为帖子?«

WordPress推出了一些内置的帖子类型

发布页面附件/媒体链接导航菜单项,但您可以添加自己的CPTs 2)。只需阅读相关的Codex文章,了解如何设置自己的电影/演员CPT或使用一组类作为基础,如this great one (包括教程)作者Toscho.

自定义分类法WordPress还内置了分类法

类别(分级)标签(非分级)链接类别(用于链接帖子类型)帖子格式(用于帖子类型)对于演员页面,检索电影列表的查询将转到哪里?«

WordPress获得Template Hierarchy. 基本上有两件事:

路由机制-告诉加载哪个主题文件-如果存在,查询更改机制-告诉加载哪个文件@Rarst 将告诉您有关如何更改WP\\u查询的基本信息,以便在WP尚未按您的请求提供这些帖子时,准确地获取您想要的帖子。

标准安装被剥离了,有时你可能想稍微减少WP,为你的应用程序提供一个更干净的界面。看看吧WP Strip Naked 作为起点。

如果你为插件添加了内容,只需留下评论,或者——更好的是——更改它并在github上发出请求

发布关系

Posts2Posts 如果您需要互连POST或CPT,这是一种可行的方法。试图在没有插件的情况下处理它实际上毫无意义,因为作者是核心贡献者,并且一直关心如何进一步开发它。

特殊用途的元框当您的帖子类型需要特殊字段时,最好使用一个库,例如RW_Meta_Box 类别集合。与Posts2Posts插件一样,尝试自己解决这个问题是没有意义的-这不值得付出努力。

更改搜索提交搜索表单时,处理搜索请求的脚本位于何处?«

通常,WP内置了一些东西(称为模板标签)来显示searchform、搜索结果页面等。

已经有另一个答案了wrote about this in detail. 该方法可以根据您的用例进行调整。

挂钩和;过滤器在许多情况下,您可能希望在主题函数中使用挂钩或过滤器。php或插件文件,而不是更改输出。一般来说,这是一种在航班上和根据需要修改内容的方法。这有助于提高应用程序的性能,并将代码保留在模板之外。请在法典中阅读更多关于这个主题的内容。

对于特殊情况,插件的替代方法PODS 为了救援。这个插件是瑞士军刀,用于各种特殊用途的内容类型。此外,它还与自定义和内置内容(从用户到帖子类型)建立了联系。

脚注»需要注意的一点是,必须使用的插件不像常规插件那样工作,通常每个插件都存储在自己的目录中,并且有一个包含插件头的文件。对于MU插件,WordPress仅在MU插件目录中查找。PHP文件,而不是子目录中的文件,因此如果要将常规插件移动到MU插件目录,可能需要创建一个代理。PHP文件。该文件应包含一个PHP require\\u once(),以包含插件的main。PHP,或者您可以创建一个。带有require\\u once()的PHP文件,用于mu plugins目录中的每个插件。«Mike Schinkel on hakres blog 关于MU插件主题

CPT是自定义职位类型的缩写

大约2个月前,我放弃了自己课程的开发,将时间投入到Rilws/Anhs图书馆。发展很快,我们对几乎每一个拉动请求都会说一声“谢谢”

结束

相关推荐

函数deactive_plugins不存在

我正在function deactivate_plugins does not exist 调用此函数时出错function deactivateSelf(){ deactivate_plugins(RSD_PLUGIN, true); //gives error: function deactivate_plugins does not exist header(\"Location: plugins.php?deactivate=true\"); //redirect