Wordpress中的自定义代码:编程限制是什么?

时间:2016-02-07 16:49:10

标签: wordpress customization

我有一个网站(www.easterisland.travel),我正在考虑转换为Wordpress网站。为什么?基本上由于以下原因:

1:使用CMS,以便我可以教他人在没有编程知识的情况下进一步向网站添加内容。我会自己构建高级页面,其他人管理的页面将是简单的信息页面。

2:访问所有这些优秀的插件,例如每页底部的“类似页面”插件(我没有找到原始网页的独立解决方案),这对于保持人们来说非常棒读数。

在我的网站上,我有许多自定义内容,例如我创建的预订系统。有一个AngularJS购物车(www.easterisland.travel/tours/),即时在线预订和支付(使用PayPal的快速​​结账)等。有一个游轮岸上游览页面(www.easterisland.travel/cruise-ship/),它是从数据库数据自动生成的,我我创建了一个系统,我可以添加游轮和岸上游览(添加正确的行程,价格,信息等)。乘客还可以登录并与同一组内的其他未来旅行者进行交流,并组织在旅游日进行会面。我还有更多的计划,例如显示酒店信息,显示TripAdvisor数据(使用TripAdvisor API)等。

百万美元的问题是:

1)所有这些都可以在Wordpress网站上实现吗?我可以使用这个平台添加所有这些系统吗?有什么限制?

2)更改为Wordpress是否有意义?

3)应该使用什么实现?当Wordpress自动更新时,我不希望删除或更改我的代码。

谢谢!

3 个答案:

答案 0 :(得分:1)

是的,你可以做到这一切。你需要有wordpress主题和插件知识的人,但这是可能的。 wordpress的美妙之处在于,你可以写出"裸露" php代码,以及与wordpress交互的少量函数都有详细记录。

Wordpress本身,结构简单"简单" (比如像magento这样的花哨工具)。所以它管理的是posts / pages / ...,或多或少来自同一个数据库对象。您可以为这些内容添加功能(例如,发布游轮和其他帖子到岸上游览),或者您可以在顶部添加自己的数据库结构。

主题系统是裸PHP代码,所以你不必抓取一千行xml代码来调整一些东西。

Wordpress的力量源自其核心wordpress"的简单性。和基于所有这些插件的功能卷。我相信很多人会说,你应该去寻找一个自定义解决方案(例如基于symfony),或者已经带有更多所需功能的CMS(比如包含checkout / paypal的magento),但是我(作为一个wordpress粉丝)看到没有问题采取wordpress。

答案 1 :(得分:1)

我从来没有找到一个插件来做我需要的东西!我管理着三个WordPress网站 - 尽管它们都不是商业网站。 (游艇俱乐部,自行车俱乐部和政党EDA)。

有一个插件可以在任何WordPress页面上使用PHP,但这意味着编辑器都必须使用文本(HTML)视图而不是Visual选项卡进行编写。我发现这对我的一些页面很有用 - 而且我是唯一的“编辑”。 还有一个插件,允许您在Widget中编写PHP代码。这没有上述缺点。

答案 2 :(得分:1)

Wordpress没有任何限制,如果无法通过插件或自定义代码完成您所需的功能,则可以扩展其默认功能。并且拥有一个框架总是比在很多方面从头开始构建更好。

然而,wordpress最初设计为博客平台,如果你计划扩展其简单的功能,你应该花一些时间来了解它如何正确地整合你的自定义需求或事情可能变得难看,

如果您知道如何与数据库交互,您可以轻松地执行您想要的操作,您可以根据数据库交互的需要使用内置函数,或者如果它不合适则只创建自己的函数非常好。

快速浏览wordpress数据库。

wp_posts - 存储网站主要前端数据,例如帖子,网页,

wp_postmeta - 存储在wp_posts

上的其他数据

wp_comments - 存储用于wp_posts评论的用户互动数据,我之前也使用这些来存储用户/管理员消息。

wp_terms - 用于对wp_posts数据进行分类/分类,例如类别和标签,

wp_options - 用于后端存储数据和配置。

您需要检查这些功能,因为您将来可能会遇到这些功能 https://codex.wordpress.org/Function_Reference/add_post_meta

https://developer.wordpress.org/reference/functions/get_post_meta/

https://codex.wordpress.org/Function_Reference/update_post_meta

https://codex.wordpress.org/Function_Reference/register_post_type

https://codex.wordpress.org/Function_Reference/register_taxonomy

https://codex.wordpress.org/Class_Reference/WP_Query

如果您还需要数据库互动,请查看https://codex.wordpress.org/Class_Reference/wpdb

对于前端实现,请查看https://developer.wordpress.org/themes/basics/template-hierarchy/,尽管在过去的5年中我从未使用过Genesis Framework之外的任何其他wordpress主题,因为我从来没有过多地使用HTML代码,而且几乎所有内容都可以使用动作进行自定义&过滤器。我建议你使用主题框架(并记住总是使用CHILD THEME来保护主题升级)

您可能还想检查 - > https://github.com/WebDevStudios/CMB2(我更喜欢使用此而不是Advance Custom Fields插件。)

wordpress中的预订系统有点复杂,我已成功使用重力形式作为AngularJS + Ajax的预订系统,但从未尝试过从头开始的自定义系统,也没有机会使用预订插件从未遇到过需要简单预订系统的提示。

只是回答你的问题。

  1. 是的,相比之下,它可以看看woocommerce插件的功能和特性,我相信它比你需要的更复杂。

  2. 将从头开始构建的网站转换为任何CMS(wordpress是一个选项)是有意义的,CMS取决于您,尽管使用您更了解的更容易集成和定制的更好

  3. 您可以使用您的孩子主题" functions.php"为了扩展您的自定义功能,比如在您的主题中为所有自定义代码创建一个文件夹,并在您的子主题functions.php中包含/要求它,或者更好地创建自己的插件以正确集成它们,您可以在插件中划分功能,如用于预订系统的插件和用于支付功能的插件。检查一下https://github.com/hlashbrooke/WordPress-Plugin-Template

  4. 我希望这会给你一个想法。