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



我有一个网站(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自动更新时删除或更改我的代码。

谢谢!

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代码,几乎所有内容都可以使用操作和过滤器进行自定义。我建议您使用主题框架(并记住始终使用子主题以确保主题升级的安全(

您可能还想检查 -> https://github.com/WebDevStudios/CMB2(我更喜欢使用它而不是高级自定义字段插件。

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

只是为了回答你的问题。

  1. 是的,为了进行比较,它可以看看woocommerce插件的功能和特性,我相信这比你需要的要复杂得多。

  2. 将从头开始构建的网站转换为任何CMS是有意义的(wordpress是一种选择(,CMS取决于您,尽管最好使用您更了解的网站,以便于集成和自定义。

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

我希望这能给你一个想法。

是的,你可以做到这一切。您将需要具有wordpress主题和插件知识的人,但这是可能的。wordpress的美妙之处在于,你可以编写"裸"的php代码,并且与wordpress交互的少量函数都有很好的文档记录。

WordPress本身的结构是"简单"的(例如,与magento等花哨的工具相比(。所以它管理的所有内容都是帖子/页面/...或多或少派生自同一个数据库对象。您可以为这些内容添加功能(例如,在岸上游览中发布游轮和其他帖子(,也可以在顶部添加自己的数据库结构。

主题系统是裸PHP代码,因此您不必爬过一千行xml代码来调整小东西。

WordPress的力量源于其"核心wordpress"的简单性和基于所有这些插件的功能量。我相信很多人会说,你应该选择自定义解决方案(例如基于symfony(,或者已经带有更多所需功能的CMS(例如包含结帐/PayPal的magento(,但我(作为wordpress粉丝(认为使用wordpress没有问题。

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

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

最新更新