【问题标题】:WordPress technical theme designWordPress技术主题设计
【发布时间】:2013-10-16 15:11:34
【问题描述】:

在一个典型的 WordPress 项目中,我猜想有 3 方。第 1 方是提供 psd/pdf 或 html 的图形设计师,第 2 方(开发人员)可能会使用一些自定义帖子创建主题,因此第 3 方(客户端和内容编辑器)可以更新网站而不会弄乱设计和不了解 HTML、JavaScript、Gimp 或 PHP。

这将与网站的主题或 php 页面中的特定页面联系起来,如果需要进行一些小的设计更改,则需要通过编辑 php 文件来完成。

我正在考虑以下主题设计:

(假设只有内容的网站没有复杂的销售统计等)

而不是“编程”page.php 以适应图形设计并引入特定(自定义)帖子和其他数据,我会让 page.php 引入子内容。这样图形设计师无需编程即可创建页面。

当需要提供图片时,wordpress 可以针对不同的屏幕尺寸进行预缩放/裁剪。

整个页面应该由设计者从编辑器而不是编辑器/客户端创建,而不是在 page.php 中:

<html {{lang}}>
  <title>{{title}}</title>
...
{{main-slider}}

JS和css通过自定义字段添加,因此可以合并到一个文件中。

主滑块帖子如下所示:

<div id="main-slider">{{main-slider-content}}</div>

可以提供JS和css来覆盖页面css或js,并将合并到一个文件中。

main-slider-content 是编辑可以通过程序员提供的自定义帖子提供的内容,该帖子将一直握住编辑的手并确保一切顺利。

其中一些字段可以使用页面的自定义字段值进行设置(如果缺少则恢复为默认值),有些字段将被帖子覆盖(如语言或标题)。

此主题将生成的网站类型供希望在网络上展示的小企业主使用。

我对设计有一些疑问,希望对 wordpress 有更多经验的人能对此有所了解。

  1. 当编辑器/客户端编辑自定义帖子(如某些滑块内容)时,他们无法预览该项目,因为该内容基本上用于每个页面。即使我找到了一种方法来列出使用滑块的页面并显示该页面,它在发布之前不会显示新内容。预览页面的实现似乎有点复杂。

  2. 生成页面需要更长的时间,因为在解析内容后需要从数据库中获取内容和子内容。我之前尝试过使用 DOMDocument 并使用&lt;div data-custom-content="main-slider"&gt;&lt;/div&gt; 来执行此操作,但这太慢了,所以我将尝试使用正则表达式。

  3. 因为内容不会发生太大变化,我认为 APC 可能会在第一次请求后缓存页面并从那里提供它。仅在更新某些内容时才删除缓存。在 VPS 上,当站点长时间处于非活动状态(这很常见)时,缓存可能(可能会)被丢弃。这意味着当人们尝试查看页面时,请求需要很长时间来处理。

任何对此有经验或有用提示的人

[更新]

我看到特定的设计和 html 模板仍然会相互依赖。我现在正在考虑尝试 Twig。好处是可重用组件是可以添加到项目中的类,并且完整的内容在 wordpress 编辑器中进行控制,没有编程经验的人仍然可以管理内容。

当页面中需要的数据发生变化时,需要程序员。

【问题讨论】:

    标签: wordpress wordpress-theming


    【解决方案1】:

    这就是高级自定义字段灵活内容系统所做的事情,您为示例设置样式的方式看起来很像 Smarty,这是一个曾经非常流行的模板系统,现在仍然被少数系统使用像 Prestashop。

    根据我的经验,这种消除中间人的想法是行不通的。您要么需要一个非常广泛(因此臃肿)的初始主题系统来适应不同的项目,要么您需要一个开发人员稍后将自定义的基本主题系统 - 在这种情况下,您可以实现的最佳效果是将开发人员的角色转移到不同的阶段项目。

    总的来说,我认为这种想法的最佳范围是让设计师学习更多代码。

    【讨论】:

    • 值得注意的是,这是一种引发讨论的问题,而不是一个有明确答案的问题,因此它可能最好针对开发者论坛,而不是 StackExchange
    • 感谢您的回答,我想要实现的是内容与获取需要应用的数据或过滤器的 php 逻辑完全分离。同时还将部分内容安全地隐藏在自定义帖子中,以便客户可以在不破坏主题的情况下提供新内容。考虑 Twig 是否可以渲染得足够快。这样,我可以在重新使用代码时复制和粘贴类文件,而不是复制和粘贴函数和 html。实际的 html 看起来很简单,非程序员也可以维护。
    • 看到设计人员编写的代码学习了更多代码,我担心该解决方案不会奏效。根据我的经验,尝试维护这样的网站非常困难(asp.net 网站)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 2013-07-28
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 2016-03-18
    相关资源
    最近更新 更多