标签: wordpress

  • 如何实现WordPress网站降级(用于解决插件和主题问题)

    如何实现WordPress网站降级(用于解决插件和主题问题)

    在最新可用版本上运行WordPress安装、插件和主题是使用该平台的关键最佳实践。还建议使用最新版本的PHP。但是,在某些情况下,这是不谨慎或不可能的。

    如果您发现自己处于这种情况,您可能需要撤消更新并降级您的WordPress网站(或其中的一部分)。幸运的是,有一些方法可用于回滚您网站的每个元素。

    这篇文章将解释为什么您可能需要降级WordPress,以及如何安全地降级。我们将介绍恢复以前版本的WordPress,以及回滚插件、主题和PHP。

    1. 为什么要降级您的WordPress版本或其他功能
    2. 如何降级您的WordPress网站

    为什么要降级您的WordPress版本或其他功能

    运行最新版本的WordPress核心(在我们的例子中是WordPress 5.5 )、插件和主题是维护网站最重要的步骤之一。这些更新通常包括安全补丁,这些补丁对于防止对您的站点的恶意攻击至关重要,并且可能会增强性能和功能。

    因此,我们不建议永久降级WordPress或其任何组件。但是,在某些情况下,您可能希望暂时这样做。

    最常见的原因是由于插件或主题冲突。例如,如果您网站的某个元素与最新版本的WordPress核心不兼容,则降级安装可以让访问者在您使用长期解决方案时访问该功能。

    (建议阅读:如何修复WordPress中的错误“网站遇到技术问题。”)。

    如果两个插件之间或插件与您的主题之间发生冲突,降级WordPress本身将无济于事。相反,您需要回滚导致问题的插件或主题的版本,以便让您的网站重新启动并运行。

    此外,一些较旧的插件和主题可能与较新版本的PHP不兼容。如果有问题的插件或主题对您网站的功能至关重要,您可能希望在找到替代解决方案时降级PHP一段时间。

    简而言之,降级WordPress应该是一个临时的故障排除过程。一旦您更换了有问题的插件或主题,或者以其他方式解决了导致您网站冲突的问题,您将需要计划再次更新您的网站。

    如何降级您的WordPress网站

    降级WordPress网站的过程将取决于您要完成的工作。您可能会发现您需要恢复整个网站的先前版本,或者您只需要恢复单个插件或主题而不是WordPress本身。

    考虑到这一点,这里有六种不同的方式可以让您回滚您的网站。每个都解决了不同的需求,因此我们建议您通读所有这些,看看哪个最适合您的具体情况。

    1. 手动降级您的WordPress版本

    如果您遇到严重的冲突导致您无法访问网站的后端,手动降级WordPress可能是您最好或唯一的选择。在开始之前,您需要备份您的网站以确保安全。

    接下来,您应该停用所有插件。如果您可以访问WordPress后端,这很容易。只需选中每个插件旁边的复选框,然后使用批量停用选项:

    在后端批量停用WordPress插件

    在后端批量停用WordPress插件

    如果您无权访问仪表板,则可以使用安全文件传输协议 (SFTP) 和FileZilla等客户端手动停用插件。您还需要这些工具用于以后的步骤,因此如果您不熟悉它们,您可能需要花点时间了解它们的工作原理。

    然后,您需要下载相关版本的WordPress。我们建议尽可能使用最新版本,通常是第二个最新版本。您可以在WordPress发布存档中访问您需要的文件:

    WordPress发布档案

    WordPress发布档案

    然后,使用FTP和FileZilla(或其他客户端)访问您网站的文件并删除您的wp-adminwp-includes目录:

    通过FTP删除wp-admin和wp-includes

    通过FTP删除wp-admin和wp-includes

    完成后,上传您要安装的WordPress版本中的所有文件,wp-content目录除外。当询问您是否要覆盖文件时,选择Overwrite > Ok

    覆盖FileZilla中的文件

    覆盖FileZilla中的文件

    然后,导航到您网站的后端。您可能会看到一条消息,要求您更新数据库。如果是这样,请单击更新WordPress数据库提示。之后,照常登录您的网站。

    您现在应该可以访问并运行旧版本的WordPress:

    降级的WordPress安装

    降级的WordPress安装

    此时,您可以重新激活插件并着手解决原始冲突。

    您可能还想禁用自动更新 ,以防止WordPress在此期间安装另一个版本。当您的问题得到解决后,您可以从仪表板的更新屏幕返回到最新版本的WordPress 。

    2. 使用WP Downgrade运行以前版本的WordPress

    如果您觉得通过FTP删除核心文件比较复制,可以使用一个插件来降级WordPress,请在备份您的网站后继续安装WP Downgrade

    安装WP Downgrade插件

    安装WP Downgrade插件

    然后,导航到设置 > WP Downgrade并在相关字段中输入您的WordPress目标版本:

    设置WordPress目标版本

    设置WordPress目标版本

    单击Save Changes,然后转到更新屏幕。您会看到您的目标版本现在被列为“最新版本的WordPress”:

    重新安装WordPress 5.0

    重新安装WordPress 5.0

    单击立即重新安装按钮以完成降级。WordPress似乎会运行正常更新,然后您应该会看到目标版本的欢迎消息:

    WordPress 5.0欢迎信息

    WordPress 5.0欢迎信息

    完成故障排除后,要重新安装最新版本的WordPress,您需要返回Settings > WP Downgrade。您可以将目标版本更改回最新更新,然后重复上述过程。

    3.恢复以前的备份以撤消对您网站的更改

    另一种降级站点的方法是从站点运行早期版本的WordPress时恢复备份。当然,为了使其正常工作,您需要有一个可靠的备份系统 。

    您还需要确保正在恢复的站点副本没有丢失最近添加的任何关键内容。您不想在尝试降级 WordPress 时无意中丢失最新帖子。如果您的网站是高度动态的,那么这可能不是最佳选择。

    如果您选择继续,恢复备份的过程将根据您用于创建和存储文件的系统而有所不同。例如,宝塔客户可以利用我们的一键恢复过程。只需登录您的宝塔控制面板即可开始使用,然后单击数据库,找到网站对应数据库的备份栏,点击有备份,在弹窗中选择需要恢复的数据库即可:

    宝塔数据库恢复

    宝塔数据库恢复

    要恢复网站文件,则可以点击网站,在列表中选择您需要恢复备份的网站,点击备份栏下的有备份,下载备份覆盖现有的网站目录,您也可以直接在宝塔的文件直接恢复覆盖网站文件目录。

    宝塔网站文件恢复

    宝塔网站文件恢复

    注:如果你使用宝塔管理服务器,建议设置定时任务对网站文件及数据库进行定期备份。

    4. 手动降级插件或主题

    如果您需要降级插件或主题而不是WordPress核心,您可以使用类似于方法#1中的过程手动执行此操作。要开始使用,您需要检索要降级的旧版本插件或主题的文件。

    对于WordPress目录中的插件,您可以通过单击功能页面上的高级视图来找到旧版本:

    WordPress目录中插件页面上的高级视图链接

    WordPress目录中插件页面上的高级视图链接

    滚动到页面底部,然后从下拉菜单中选择您需要的版本并点击下载

    通过WordPress插件目录下载以前版本的插件

    通过WordPress插件目录下载以前版本的插件

    解压缩文件并将其保存到您的计算机。然后备份您的站点以防万一出现问题,并使用FTP和您的首选客户端连接到您的服务器。在那里,导航到wp-content > plugins

    接下来,您需要重命名插件现有版本的目录。然后上传您希望降级到的先前版本的文件夹:

    通过FTP上传旧版本的插件

    通过FTP上传旧版本的插件

    这应该会成功恢复您需要的旧版本的插件。此外,您可以轻松获取最新版本,以便在准备好时切换回它。

    不幸的是,这种方法对于主题和高级插件变得更加棘手。回滚它们的过程或多或少是相同的,但WordPress主题目录没有可供下载的早期版本。

    至于高级插件,以前的版本可能很容易访问,也可能不容易访问。如果您找不到所需的插件或主题版本,最好的办法是尝试联系开发人员寻求帮助。

    5. 使用WP Rollback回滚插件和主题更新

    幸运的是,有一种 更简单的方法可以降级插件和主题。您需要做的就是安装并激活WP Rollback

    安装WP Rollback插件

    安装WP Rollback插件

    该插件会定期更新,并在WordPress插件目录中获得令人印象深刻的五星级评级。一旦它启动并运行,导航到您的插件列表。

    现在,您将 在每个插件的标题下看到一个Rollback按钮,以及标准选项:

    启用回滚选项

    启用回滚选项

    如果单击此新选项,您将被重定向到可以选择目标版本的页面。然后选择Rollback按钮开始降级过程:

    选择插件回滚目标版本

    选择插件回滚目标版本

    回滚主题同样容易。导航到仪表板中的外观 > 主题 ,然后选择要降级的主题。现在在窗口底部会有一个Rollback按钮:

    回滚WordPress主题

    回滚WordPress主题

    在以下屏幕上,您可以选择目标版本并启动降级过程,就像您对插件一样。当您需要恢复相关插件或主题时,您可以从相关目录执行此操作。

    6. 恢复到旧版本的PHP

    2019年,WordPress对其PHP要求进行了一些更改。出于这个原因,以及使用最新版本的诸多好处,始终建议升级您网站的PHP。

    但是,一些没有得到很好维护的旧插件可能与新版本的PHP不兼容。理想情况下,您将始终使用从开发人员那里获得定期更新和支持的工具。

    但是,如果您有一个对网站功能至关重要的过时插件,但不能与最新版本的PHP一起使用,您可以执行降级。使用宝塔管理服务器的优势在于能够直接从他们的宝塔仪表板轻松切换PHP版本。

    为此,请登录您的宝塔管理后台。导航到软件商店,搜索php,然后安装您需要的PHP版本:

    宝塔安装PHP版本

    宝塔安装PHP版本

    然后点击网站,找到需要切换PHP版本的网站对应的操作“设置”,在弹窗中选择“PHP版本”,然后在PHP版本选择您所需要的版本,点击“切换”即可。

    切换网站PHP版本

    切换网站PHP版本

    如果您不是宝塔用户,或者您需要安装比通过PHP引擎功能提供的版本更早的版本的PHP,则需要使用命令行降级PHP

    这个过程更先进,风险也更大。在这种情况下,最好考虑立即更换有问题的插件或主题,而不是降级PHP并尝试进一步解决冲突。

    小结

    在对站点进行故障排除或执行其他关键任务时,有时需要降级WordPress 。虽然没有实现此目标的本机功能,但有多种方法可以恢复到您网站的先前版本。

    这篇博文涵盖了六种不同的方式来降级您的WordPress网站及主题、插件、PHP版本等:

    1. 手动降级您的WordPress网站。
    2. 使用WP Downgrade运行以前版本的WordPress。
    3. 恢复以前的备份以撤消对您网站的更改。
    4. 手动降级插件或主题。
    5. 使用WP Rollback进行回滚插件和主题更新。
    6. 恢复到旧版本的PHP。
  • WordPress主题模板层次结构指南

    WordPress主题模板层次结构指南

    如果您想自定义主题或从头开始构建新主题,了解WordPress主题模板层次结构的工作原理非常重要。

    首先,这个WordPress系统有助于保持一切井井有条。一旦您知道所有主题模板文件是什么、它们的作用以及它们的优先级如何,您将能够改变WordPress网站外观的几乎所有方面。

    在本文中,我们将解释WordPress主题模板层次结构是什么以及它是如何工作的。然后,我们将提供每种类型的WordPress页面中涉及的模板文件的完整细分(包括供参考的备忘单),以帮助您充分利用它们。

    1. WordPress主题模板层次结构简介
    2. WordPress主题模板层次结构如何工作
    3. 在哪里找到和更改WordPress主题模板文件
    4. 按页面类型划分的WordPress主题模板层次结构细分
    5. 子主题适合WordPress模板层次结构的位置
    6. 使用WordPress模板标签进行主题开发

    WordPress模板层次结构简介

    通常,非动态网站使用静态HTML和CSS文件来呈现其内容。然而,WordPress是一个基于PHP编程语言的动态平台。每个WordPress站点都会加载多个.php 文件,每个文件都控制特定部分或组件的外观。

    每当您加载某种类型的页面时,内容管理系统 (CMS)都会查找与其对应的模板文件。

    例如,如果您使用WordPress的搜索功能并加载搜索结果页面,CMS将查找两个模板文件:

    1. search.php,它控制搜索结果页面的外观
    2. index.php,这是WordPress在每个层次结构中找不到顶部选项时使用的默认模板文件

    您有权访问的模板文件取决于您使用的主题。所有WordPress主题 都是模板、样式表和其他元素(例如图像)的集合。所以在上面的例子中,如果你使用的主题包含一个search.php模板,WordPress 会找到并加载它。

    在某些情况下,您可能会使用不包含要加载的页面类型的模板文件的主题。这就是WordPress模板层次结构的用武之地。它是一个内置系统,可以告诉 WordPress 要加载哪些模板文件以及以何种顺序加载。

    对于搜索页面,如果WordPress找不到search.php文件,它将向下移动到层次结构中的下一个文件,即index.php。该 文件是模板层次结构中每个分支的最终后备。

    理论上,您可以拥有一个仅包含一个模板文件的功能齐全的主题,即index.php

    但是,在实践中,具有单个模板文件的主题几乎不会包含任何样式自定义,并且每种类型的页面看起来都几乎相同。除非这就是您的目标,否则了解WordPress模板层次结构是您作为主题开发人员可以采取的最重要的步骤之一。

    WordPress模板层次结构如何工作

    您可能知道,WordPress允许您根据要发布的内容使用多种类型的页面。您可以使用七个主要类别:

    1. 首页
    2. 单个文章
    3. 单页
    4. 自定义文章类型
    5. 搜索结果页面
    6. 类别和标签页面
    7. 404错误页面

    这些页面中的每一个都有自己的自定义层次结构,这意味着它使用一组特定的模板文件。

    如果您快速浏览任何主题的文件夹,您通常会发现一组模板文件。以下是博客文章主题目录中列出的模板文件示例:

    WordPress主题目录中列出的模板文件

    WordPress主题目录中列出的模板文件

    这是一个单一的文章页面类型,这意味着它使用single.php文件作为页面上主要内容(博客文章本身)的模板。

    此外,它对每个页面元素都有一个单独的模板文件,其中大部分你应该一眼就能识别出来,包括:

    • Header
    • Footer
    • Comments
    • Sidebar

    重要的是要理解,尽管每种页面类型都有自己的层次结构,但它们也经常共享通用模板文件,例如header.php 和footer.php

    如果您正在构建自己的主题,这意味着您可以为每种类型的页面创建自定义样式,同时还可以构建模板文件以重复使用。

    您还可以为适用于某些页面类型的侧边栏和页脚等元素创建自定义模板文件。这种灵活性完全归功于WordPress对模板的模块化方法。

    当您切换主题时,您看到的布局差异归因于WordPress加载的新模板文件。子主题也在WordPress主题层次结构中发挥作用,我们将很快讨论。

    在哪里找到和更改WordPress模板文件

    .php文件可以包含PHP代码和HTML标记(所有这些都可以编辑)。因此,WordPress模板文件可以像您需要的那样复杂。在许多情况下,WordPress使用的模板文件是它们管理的元素的函数集合。

    举个例子,这里快速浏览一下WordPress官方二〇二一主题使用的header.php模板文件:

    二〇二一主题header模板文件

    二〇二一主题header模板文件

    正如我们所提到的,每个WordPress主题都包含自己的一组模板文件。您可以通过文件传输协议 (FTP) 客户端访问网站根目录中的文件夹来查看您的主题包含哪些模板文件。

    这是以前的WordPress官方主题Twenty Twenty的样子:

    Twenty Twenty主题目录和模板文件

    Twenty Twenty主题目录和模板文件

    默认情况下,WordPress将加载位于主题主目录(wp_content > Themes)或template-parts文件夹中的模板文件。

    如果您计划创建多个模板文件,我们建议您将主页模板保留在主目录中。对于更具体的模板文件,例如全角页面或侧边栏布局,您可以使用子目录。

    掌握完整的WordPress模板层次结构的最佳方法是通过备忘单。在这种情况下,我们将向您展示模板层次结构的可视化概览,由WordPress Codex提供:

    WordPress模板层次结构

    WordPress模板层次结构

    WordPress Codex包含大量有关模板层次结构的信息,因此我们建议为该资源添加书签。现在,让我们深入了解每种页面类型及其使用的模板文件。

    按页面类型划分的WordPress模板层次结构细分

    WordPress 使用七种主要类型的页面。在本节中,我们将讨论它们中的每一个,并为您提供它们使用的模板文件的细分。让我们从头版开始。

    1. 首页模板文件
    2. 单个文章
    3. 单页
    4. 自定义文章类型
    5. 搜索结果页面
    6. 类别和标签页
    7. 404错误页面

    首页模板文件

    您的WordPress主页 是大多数用户访问您的网站时的第一站。实际上,从一个站点到另一个站点的首页布局可能会有很大差异。

    但是,对于基本的首页,WordPress会按顺序查找这三个模板文件:

    1. front-page.php
    2. home.php
    3. index.php

    如果您的主题不包含front-page.php模板文件,WordPress将默认使用第二个选项,依此类推。与往常一样,index.php文件是WordPress沿模板决策树制作的最后一站。

    单个文章

    单个WordPress文章使用单个文章模板层次结构。对于每篇博文的主要内容,WordPress会查找以下文件:

    1. single.php
    2. singular.php
    3. index.php

    但是,如果您查看模板备忘单,您会注意到在某些情况下会出现更复杂的层次结构。

    这是因为WordPress允许您为单个文章和单个类别指定模板文件,如果找不到这些选项中的任何一个,则默认为single.php 。

    除了主模板文件之外,您还有诸如header, footer, sidebars和comments等元素。正如我们之前提到的,这些元素中的每一个都可以有自己的模板文件。

    单页

    发布后,单页是大多数WordPress网站的生计。在大多数情况下,它们使用与您的首页不同的模板,除非两种类型的页面都默认为index.php

    以下是单页模板层次结构的外观:

    1. page.php
    2. singular.php
    3. index.php

    尽管单个文章和页面的模板层次结构相似,但存在一些关键差异。

    首先,当涉及到页面时,WordPress使用自定义文件的get_page_templates() path,您可以使用它来更改或重定向默认页面模板。

    此外,您可以为特定的slug和 ID创建模板。如果您有page-{slug}.phppage-{id}.php文件,WordPress 将尝试按顺序加载每个文件,然后默认为page.php

    自定义文章类型

    您可以为您可能不想与页面或帖子捆绑的各种内容创建自定义文章类型。自定义文章类型为您的内容提供了更高程度的组织,并且它们还具有自己的模板层次结构:

    1. archive-{post_type}.php
    2. archive.php
    3. index.php

    自定义文章类型的模板层次结构不像整页或文章那样复杂。但是,WordPress允许您为每种自定义文章类型创建模板文件,因此它们不必共享相同的确切布局。

    搜索结果页面

    我们已经向您介绍了WordPress用于搜索结果页面的模板层次结构,因此让我们简要回顾一下它的外观:

    1. search.php
    2. index.php

    随着我们远离诸如文章或首页等“复杂”页面类型,WordPress模板层次结构变得更加简单。

    对于搜索页面,您通常不需要在结果本身之外包含太多元素。结构越简单,层次结构通常越短。

    类别和标签页

    尽管许多网站不直接链接到它们,但WordPress会为您的标签和类别生成集合页面。taxonomy中的每个项目也有特定的子页面。

    考虑到具有大型内容库的网站的分类法可能变得多么复杂,这种层次结构涉及比平常更多的“步骤”:

    1. category–{slug}.php
    2. category-{id}.php
    3. category.php
    4. archive.php
    5. index.php

    请注意,标签使用相同的层次结构,除了在所有实例中“标签”替换“类别”。

    理论上,您可以为WordPress网站上的每个类别或标签创建单独的模板文件,并通过slug或ID识别它们。然而,很少有网站真正经历过所有这些麻烦。

    如果您不打算让访问者浏览您的类别页面,请随意默认使用archive.php模板。

    404错误页面

    有时,访问者会尝试访问不存在的页面。发生这种情况时,WordPress将返回404错误页面

    默认情况下,WordPress不提供自定义此页面外观的选项。但是,您可以通过模板文件自己调整它的外观。模板层次结构相当短:

    1. 404.php
    2. index.php

    随着您网站的增长,用户可能会遇到404错误的实例也会随之增长。针对这些情况使用自定义错误页面可以帮助您告知访问者页面未加载的原因,将他们指向另一个方向,并减少挫败感。

    加载404模板文件时,WordPress会在使用默认文件之前查找并加载您的自定义文件。

    子主题适合WordPress模板层次结构的位置

    如果您喜欢自定义WordPress主题,最佳做法是使用子主题。子主题在WordPress模板层次结构中也占有一席之地,但如果您查看我们之前提供的备忘单,它并不明显。

    简而言之,使用子主题会为您使用的任何页面类型在模板层次结构中添加第二层。

    假设您正在使用包含单个页面的自定义模板文件的子主题。以下是WordPress尝试加载文件的顺序:

    1.  子主题内page.php
    2.  父主题中的page.php
    3.  子主题中的singular.php
    4.  父主题中的singular.php
    5.  子主题中的index.php
    6.  父主题中的index.php

    如果WordPress可以在您的子主题中找到模板文件的版本,那么它将加载该版本,即使在父主题中有对应的模板文件也是如此。在某些情况下,您可能会发现自己想要为您使用的主题自定义模板文件,并且在这些情况下利用子主题是完美的。

    与其他类型的自定义一样,当您更新主题模板文件时,您将丢失对它的更改。通过子主题添加这些更改将使您摆脱这种情况。

    使用WordPress模板标签进行主题开发

    在WordPress开发中,您经常会遇到模板标签,这是您可以用来动态生成和获取数据的PHP函数。模板标签通常是模板文件的一部分,但它们不可互换。

    WordPress在其代码中构建了数十个模板标签,您可以在主题开发中使用这些标签。一些例子包括:

    • get_header()
    • get_footer()
    • get_sidebar()
    • get_search_form()
    • 获取模板部分()

    这些标签使您能够从您正在使用的主题中收集模板文件。实际上,这意味着您可以将特定元素添加到主模板文件,例如front-page.phpindex.php

    如果您想要一份可以在WordPress开发中使用的所有模板标签的完整列表,请查看WordPress Codex

    在那里,您将找到有关如何使用每个模板标记、它们的各个参数以及实际代码示例的说明。

    小结

    尽管WordPress模板层次结构乍一看可能看起来很复杂,但它归结为一系列简单的决策树。每当您访问WordPress网站时,CMS都会查看您尝试访问的页面类型,然后使用层次结构来确定要加载的模板文件。

    除了每种页面类型的主要模板之外,您还可以为单独的元素(例如页眉、页脚和侧边栏)提供模板文件。

    这种模块化方法使您可以完全控制网站上每个页面的外观,并帮助您在WordPress开发过程中节省时间。

  • 如何使用Poedit翻译WordPress主题

    如何使用Poedit翻译WordPress主题

    大多数WordPress主题都带有一种且唯一的语言——英语。本教程向您展示如何将任何WordPress主题翻译成您选择的本地语言。

    事前准备工作

    在开始本指南之前,您需要以下内容:

    • 按照Poedit软件到您的计算机上。Poedit提供 OS X和Windows版本,可以从这里下载。
    • 您计算机上的WordPress主题文件。

    第 1 步 — 打开主题的默认语言模板

    打开Poedit并选择Create new translation

    创建主题翻译文件

    将弹出一个新窗口,选择您要翻译的WordPress主题。主题的默认翻译模板位于THEMEXXX/lang/YYY.po,其中THEMEXXX是您的主题的名称和YYY– 主题的默认语言(themename/lang/en_EN.po在本例中):

    Poedit生成翻译文件

    接下来,从下拉菜单中选择您要将主题翻译成的语言:

    选择需要翻译的语言

    您现在已准备好翻译您的主题。

    第 2 步 — 翻译您的主题

    突出显示您要翻译的任何字符串:

    逐句翻译

    Translation部分输入源字符串的所需翻译:

    根据源文本翻译

    翻译完主题后,将文件(lt_LT在本例中)保存在与原始模板相同的目录中:

    保存翻译文件

    第 3 步 — 更改您的WordPress网站语言

    将您在步骤2中保存的.po文件lt_LT.po(在本示例中)和.mo文件(lt_LT.mo由Poedit自动生成)上传到您的主机帐户上的相应目录。该目录应类似于public_html/wp-content/themes/THEMEXXX/lang,其中THEMEXXX是您的WordPress主题的名称。

    打开wp-config.php文件(它位于您的WordPress安装根目录中)并添加以下行:define ('WPLANG', 'ZZZ');ZZZ您用来保存翻译的文件的名称在哪里(在本例中的lt_LT):

    更改您的WordPress网站语言

    您的主题现在将显示为已翻译:

    翻译示例

    小结

    现在您知道如何使用Poedit翻译编辑器翻译您的WordPress主题了。如果您想使您的网站适应您的本地语言,这项技能很有价值。同样的翻译原则也适用于WordPress插件。

  • 使用WP_Query的基础知识 + 代码示例

    使用WP_Query的基础知识 + 代码示例

    默认情况下,WordPress会自动将您的文章从最新到最旧排序。尽管访问者可以使用类别和标签搜索特定文章,但他们可能无法找到他们正在寻找的内容。要为每位访问者整理您的文章,使用WP_Query会很有帮助。

    使用WP_Query,您可以自定义网站文章和页面的显示。这个PHP类使您能够简化复杂的数据库请求。作为开发人员或网站所有者,它可以帮助您自定义超出默认主题的页面。

    在这篇文章中,我们将解释什么是WP_Query。然后,我们将向您展示如何在您的WordPress网站上使用它。最后,我们将为您提供一些在您的博客上实现它的方法示例。

    WP_Query简介

    在WordPress中,您网站的数据存储在MySQL数据库中。这包括从文章、页面和评论到您的配置设置的所有内容。

    当访问者点击您的网站时,会向您的WordPress数据库发送一个请求。您的数据库检索特定的文章和页面以根据此查询显示它们。

    作为网站所有者,您可以利用查询从数据库中获取特定信息。尽管您可以构建SQL查询,但这并不是检索数据的最有效方式。这就是WP_Query的用武之地。

    WP_Query是一个PHP类,您可以使用它来为您的数据库构建查询。在WordPress中,这是一个内置类,每当有人搜索您的内容时就会出现。

    搜索文章列表

    但是,实施自定义WordPress查询可以使用户无需搜索即可找到特定内容。如果您需要在网站的前端呈现一组特定的文章,您可以使用WP_Query自定义文章类型轻松完成此操作。

    例如,您可能想要创建一个WordPress自定义文章类型。要显示这些文章,您可以编写特定查询。这是您可以使用的基本代码结构

    // WP QUERY
    $query = new WP_Query([
    ‘post_type’ => ‘press-release’
    “posts_per_page => 25,
    ‘category_name’ => ‘health’,
    ]);
    // WP QUERY
    $query = new WP_Query([
    ‘post_type’ => ‘press-release’
    “posts_per_page => 25,
    ‘category_name’ => ‘health’,
    ]);
    // WP QUERY
    $query = new WP_Query([
    'post_type' => 'press-release'
    "posts_per_page => 25,
    'category_name' => 'health',
    ]);

    这可以通过自定义Loop来实现。本质上,循环是WordPress用来显示某些文章的PHP代码。WordPress知道如何根据您的WP_Query自定义文章类型中的指定条件处理和格式化每个文章。

    WP_Query对开发人员也很有帮助。您可以使用此PHP类自定义WordPress主题,而无需直接查询数据库。

    如何使用WordPress WP_Query(4 种方式)

    现在您已经了解了WP_Query,让我们讨论如何创建您的第一个查询。这样,您可以快速轻松地自定义您的网站显示!

    1.创建一个循环

    您需要熟悉WordPress Loop才能开始使用。正如我们前面提到的,Loop负责从数据库中提取文章数据。它根据主题的模板文件确定内容的显示方式。

    根据您设置的参数,以下是Loop可以显示的内容:

    • 来自WordPress自定义文章类型和自定义字段的内容。
    • 在您的主页上发布标题和摘录。
    • 单个文章的内容和评论。
    • 使用模板标签的单个页面内容。

    在使用WP_Query自定义Loop之前,您需要了解Loop结构。这是一个基本循环的示例:

    <?php
    if ( have_posts() ) :
    while ( have_posts() ) : the_post();
    // Display post content
    endwhile;
    endif;
    ?>
    <?php
    if ( have_posts() ) :
    while ( have_posts() ) : the_post();
    // Display post content
    endwhile;
    endif;
    ?>
    <?php
    if ( have_posts() ) :
        while ( have_posts() ) : the_post();
            // Display post content
        endwhile;
    endif;
    ?>

    让我们分解这个循环的各个部分。首先,函数have_posts()将检查您的网站上是否有文章。如果是这样,while条件会继续每个文章的循环。本质上,这会通知您的数据库在您的网站上显示任何文章。

    但是,您可能不想显示所有文章。通过将WP_Query代码插入循环中,您可以使WordPress仅呈现某些文章:

    ?php
    // The Query
    $the_query = new WP_Query( $args );
    // The Loop
    if ( $the_query->have_posts() ) {
    echo ‘<ul>’;
    while ( $the_query->have_posts() ) {
    $the_query->the_post();
    echo ‘<li>’ . get_the_title() . ‘</li>’;
    }
    echo ‘</ul>’;
    } else {
    // no posts found
    }
    /* Restore original Post Data */
    wp_reset_postdata();
    ?php
    // The Query
    $the_query = new WP_Query( $args );
    // The Loop
    if ( $the_query->have_posts() ) {
    echo ‘<ul>’;
    while ( $the_query->have_posts() ) {
    $the_query->the_post();
    echo ‘<li>’ . get_the_title() . ‘</li>’;
    }
    echo ‘</ul>’;
    } else {
    // no posts found
    }
    /* Restore original Post Data */
    wp_reset_postdata();
    ?php
    // The Query
    $the_query = new WP_Query( $args );
    // The Loop
    if ( $the_query->have_posts() ) {
        echo '<ul>';
        while ( $the_query->have_posts() ) {
            $the_query->the_post();
            echo '<li>' . get_the_title() . '</li>';
        }
        echo '</ul>';
    } else {
        // no posts found
    }
    /* Restore original Post Data */
    wp_reset_postdata();

    这包含与ifwhile语句相同的基本循环结构。但是,还有一个额外的WP_Query 字符串。

    您可以自定义Loop以仅根据您设置的参数显示与特定WordPress分类、类别或作者关联的文章。您还可以按日期、标签、自定义字段等缩小结果范围。换句话说,在使用WP_Query自定义Loop时,您可以采取许多路线。

    2. 使用参数

    在构建WP_Query时,您需要包含四个基本元素:

    • Query argument
    • Query itself
    • The Loop
    • Post data reset

    查询中最关键的部分之一是参数(称为WP_Query args)。该参数通知WordPress您要从数据库中检索哪些数据。该参数不会显示您的所有文章内容,而是会在您的循环中设置一些条件。

    您可能注意到了前面示例中的 ($args) 行。这是您将包含查询参数的地方。

    构造您的WP_Query args,您需要将某些参数放在一个数组中。我们将在下一节讨论参数,但下面是基本参数的外观:

    $args = array(
    ‘parameter1’ => ‘value’,
    ‘parameter2’ => ‘value’,
    ‘parameter3’ => ‘value’
    );
    $args = array(
    ‘parameter1’ => ‘value’,
    ‘parameter2’ => ‘value’,
    ‘parameter3’ => ‘value’
    );
    $args = array(
        'parameter1' => 'value',
        'parameter2' => 'value',
        'parameter3' => 'value'
    );

    例如,如果您想显示具有“cooking”标签的文章,您可以通过以下方式编写参数:

    $query = new WP_Query( array( ‘tag’ => ‘cooking’ ) );
    $query = new WP_Query( array( ‘tag’ => ‘cooking’ ) );
    $query = new WP_Query( array( 'tag' => 'cooking' ) );
    

    如果您不包含WP_Query参数,则不会从您的数据库中提取任何内容。如果没有这些信息,WordPress将不知道要显示哪些文章。

    3. 设置参数

    正如我们前面提到的,设置参数对于自定义WP_Query很重要。您可以通过指定此信息使WordPress从您的数据库中检索自定义的文章集合。

    如果您不确定要在参数中包含哪些参数,WordPress提供了许多不同用途的示例。由于这些已经为您编码,因此可以在构建WP_Query时节省您的时间和精力。

    以下是您可以使用的一些常用参数

    • Posts_per_page – 设置要显示的文章数。
    • Author – 按一位或多位作者缩小结果范围。
    • Cat – 指定结果应属于的类别。
    • Tag – 拉出具有特定标签的文章。
    • Orderby – 按作者、文章类型、日期等对结果进行排序。
    • Order – 按升序或降序对结果进行排序。
    • Post_type – 定义查询是否应检索文章、页面或自定义文章类型。
    • Post_status – 指定文章是否正在进行、已安排、已发布或已删除。

    例如,您可能需要显示某个类别的文章。在这种情况下,您可以包含类别名称和slug:

    $query = new WP_Query( array( ‘category_name’ => ‘staff’ ) );
    $query = new WP_Query( array( ‘category_name’ => ‘staff’ ) );
    $query = new WP_Query( array( 'category_name' => 'staff' ) );
    

    这将拉取此WP_Query类别下的文章以及该类别的任何子项。

    使用不同的参数,您还可以显示特定日期的文章。要在工作日从上午9点到下午5点显示内容,您将使用以下参数:

    $args = array(
    ‘date_query’ => array(
    array(
    ‘hour’ => 9,
    ‘compare’ => ‘>=’,
    ),
    array(
    ‘hour’ => 17,
    ‘compare’ => ‘<=’,
    ),
    array(
    ‘dayofweek’ => array( 2, 6 ),
    ‘compare’ => ‘BETWEEN’,
    ),
    ),
    ‘posts_per_page’ => -1,
    );
    $query = new WP_Query( $args );
    $args = array(
    ‘date_query’ => array(
    array(
    ‘hour’ => 9,
    ‘compare’ => ‘>=’,
    ),
    array(
    ‘hour’ => 17,
    ‘compare’ => ‘<=’,
    ),
    array(
    ‘dayofweek’ => array( 2, 6 ),
    ‘compare’ => ‘BETWEEN’,
    ),
    ),
    ‘posts_per_page’ => -1,
    );
    $query = new WP_Query( $args );
    $args = array(
        'date_query' => array(
            array(
                'hour'  => 9,
                'compare'   => '>=',
            ),
            array(
                'hour'  => 17,
                'compare'   => '<=',
            ),
            array(
                'dayofweek' => array( 2, 6 ),
                'compare'   => 'BETWEEN',
            ),
        ),
        'posts_per_page' => -1,
    );
    $query = new WP_Query( $args );

    您可以使用的参数数量实际上是无限的。通过在您的参数中包含这些自定义条件,您的WP_Query可以成功地呈现正确的数据。

    4.用方法修改类属性

    由于WP_Query是一个PHP类,它包含称为属性的常量。这些是PHP类的变量。

    WordPress的开发人员建议不要直接更改WP_Query属性。但是,您可以使用方法与它们进行交互。

    方法的工作方式与函数类似。当您修改WP_Query的方法时,您可以自定义检索到的数据。

    在WP_Query的文档中,列出了许多基本任务的函数。例如,包含reset_postdata() 函数可能是编写WP_Query的重要步骤。此方法将重置$current_post和$post的属性。

    这可能是这样的:

    <?php
    // the query
    $the_query = new WP_Query( $args ); ?>
    <?php if ( $the_query->have_posts() ) : ?>
    <!– pagination here —>
    <!– the loop —>
    <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
    <h2><?php the_title(); ?></h2>
  • 简单有效的WordPress调试及故障排查小技巧

    简单有效的WordPress调试及故障排查小技巧

    如果您是Web开发人员,您经常处理网站错误,对吗?无论您是从头开始为网站编写代码,还是部署已经编写好的软件程序,您都一定会遇到错误。这是因为编码错误可能发生在包括WordPress在内的所有类型的计算机程序中。

    但是每个问题都有解决方案,错误也是如此。事实上,作为一名Web开发人员,您的主要职责之一是调试错误或编码错误。这篇文章将全面为您提供调试WordPress编码错误一些有效的信息。

    所以,如果你是WordPress开发者,这个博客对你来说非常方便。我们将在整个博客中为您提供一些杀手级和有效的调试WordPress提示和技巧。

    但在此之前,让我们定义术语调试并给您一个概述。这将帮助您更好地理解后续要点。

    Debug调试说明

    简而言之,调试或调试是指检测和修复软件或计算机程序中的编码错误。通常,Web开发人员是执行调试任务的专业人员。

    开发人员使用许多调试工具来修复代码中的错误。一旦更正,他们会运行进一步的测试以确保程序中不会再次出现错误。需要注意的是,调试是软件开发过程中的一个持续动作。

    Debug调试说明

    要调试一个软件,您可以采用多种策略,包括单元测试、代码审查和结对编程。在发布软件程序之前,Web开发人员的工作是确保软件程序没有错误。

    但是,即使在修复了明显的错误之后,错误也可能出现在软件正式发布后。这是因为几乎不可能一次性识别出产品中的所有错误。用户开始使用该产品后,该程序的一些错误就会显现出来。当用户抱怨错误时,开发人员必须立即修复它们。

    为什么提前调试WordPress网站很重要

    WordPress安全性一样,调试WordPress也很重要。当您设计WordPress网站时,您会利用许多3rd方插件来增强您的网站功能。但是所有这些插件都不太可能为您带来预期的成果。其中许多插件会触发代码冲突,从而削弱您的WordPress网站。

    调试WordPress

    WordPress有一个debug调试模式,可以让您预先检测到这种类型的代码冲突。这使您可以在网站上线之前解决这些问题。因此,在网站上线后修复新出现的网站错误所需的时间和精力会减少。

    7个有效的调试WordPress提示和技巧

    现在,是时候切入正题了,即为您提供调试WordPress站点的可能解决方案。通常,每当我们中的任何人面对我们的WordPress网站崩溃时,我们倾向于停用或卸载我们所有活动的主题和插件。事实上,这是我们被要求做的。并不是说采用这种方法是错误的。

    但这是让您的网站重回正轨的浪费时间和低效的方法。这样,您网站的真正问题也可能会被忽视。因此,你必须想出一个真正的游戏规则改变者,而这正是我们要在这里讨论的——

    如果您愿意了解如何恢复被黑的WordPress网站,可以参考以下链接 –

    如何恢复被黑的WordPress网站?

    WordPress调试插件的可用性

    当涉及到WordPress网站的功能增强时,插件总是很有用的。例如,如果您想通过社交媒体功能丰富您的网站,您可以使用社交媒体插件

    同样,如果您想为您的WordPress网站增强调试功能,您可以使用一流的WordPress调试插件。我们会命名并推荐2个调试WordPress插件——Query Monitor和Debug Bar。

    Query Monitor

    Query Monitor带有一些令人兴奋的WordPress调试功能。它有一个用于WordPress的开发人员工具面板。它可以让您对数据库查询、PHP错误、块编辑器块、挂钩和操作、语言和翻译、重写规则、排队脚本和样式表、HTTP API调用等进行故障排除或调试。

    Query Monitor

    它还包含一些高级功能,例如调试Ajax调用、REST API调用和用户能力检查。该插件的显着特点是它能够通过插件和主题来缩小其输出范围,让您破译低级插件和主题。

    查询监视器也以显示方便的信息而闻名。选择菜单项后,您可以添加管理工具栏菜单以显示当前页面概述,并在面板中显示调试信息。

    Debug Bar

    Debug Bar是一个高度信任的调试WordPress工具,您可以从WP admin中使用它。它使您可以快速访问不同类型的调试信息,例如缓存、查询等。该工具出现在站点的管理栏顶部,使您可以从前端和后端调试信息。

    Debug Bar

    在Debug Bar插件中,您将有几个选项来识别代码中的问题。例如,您可以通过激活WP_DEBUG来启用对PHP警告和通知的跟踪。此外,要找出您网站的性能问题,您可以启用SAVEQUERIES,它会公开和跟踪MYSQL。

    激活WP_DEBUG

    在WordPress中记录任何问题的最简单方法是激活WP_DEBUG,您可以通过编辑wp-config.php文件来完成。WP_DEBUG是WordPress内置的默认调试模式,它有2个子类型。

    一个是WP_DEBUG_DISPLAY,它在屏幕上显示错误,另一个是WP_DEBUG_LOG,它将错误消息保存在wp-content/debug.log中。

    要激活WP_DEBUG,您可以导航到网站的根目录。您可以通过托管服务提供商的文件管理器或使用FileZilla等文件传输协议 (FTP) 客户端来执行此操作。wp-config.php文件将位于public_html文件夹下。

    找到并打开文件后,下一步是复制并粘贴以下代码段:

    // Enable WP_DEBUG mode
    define( ‘WP_DEBUG’, true );
    // Enable Debug logging to the /wp-content/debug.log file
    define( ‘WP_DEBUG_LOG’, true );
    // Disable display of errors and warnings
    define( ‘WP_DEBUG_DISPLAY’, false );
    @ini_set( ‘display_errors’, 0 );
    // Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
    define( ‘SCRIPT_DEBUG’, true );
    // Enable WP_DEBUG mode
    define( ‘WP_DEBUG’, true );

    // Enable Debug logging to the /wp-content/debug.log file
    define( ‘WP_DEBUG_LOG’, true );

    // Disable display of errors and warnings
    define( ‘WP_DEBUG_DISPLAY’, false );
    @ini_set( ‘display_errors’, 0 );

    // Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
    define( ‘SCRIPT_DEBUG’, true );

    // Enable WP_DEBUG mode
    define( 'WP_DEBUG', true );
    
    // Enable Debug logging to the /wp-content/debug.log file
    define( 'WP_DEBUG_LOG', true );
    
    // Disable display of errors and warnings
    define( 'WP_DEBUG_DISPLAY', false );
    @ini_set( 'display_errors', 0 );
    
    // Use dev versions of core JS and CSS files (only needed if you are modifying these core files)
    define( 'SCRIPT_DEBUG', true );

    需要注意的是,这应该插入到/* That’s all, stop editing! Happy blogging. */”。完成后,请务必保存更改。

    启用WPDB错误报告

    如果您使用WPDB类来处理您的数据库,那么进行WPDB错误报告是非常重要的。通过此错误报告,您可以确定您的查询是否运行良好。最重要的是,它还将显示调试WordPress的错误消息。

    $wpdb对象中有一个名为$show_errors的变量。如果将此设置为true,则可以提示WordPress将任何给定查询的SQL错误输出到屏幕上。

    global $wpdb;
    // Before running your query:
    $wpdb->show_errors = TRUE;
    $result = $wpdb->get_results(“SELECT field_value FROM table_name”);
    if(! $result){
    $wpdb->print_error();
    // Or you can choose to show the last tried query.
    echo $wpdb->last_query;
    }
    global $wpdb;
    // Before running your query:
    $wpdb->show_errors = TRUE;
    $result = $wpdb->get_results(“SELECT field_value FROM table_name”);
    if(! $result){
    $wpdb->print_error();
    // Or you can choose to show the last tried query.
    echo $wpdb->last_query;
    }
    global $wpdb;
    // Before running your query:
    $wpdb->show_errors = TRUE;
    $result = $wpdb->get_results("SELECT field_value FROM table_name");
    if(! $result){
    $wpdb->print_error();
    // Or you can choose to show the last tried query.
    echo $wpdb->last_query;
    }

    要启用此功能,请转到/public_html/wp-includes/wp-db.php并打开文件。搜索wpdb class并将$show_errors变量更改为true

    部署WordPress临时站点

    不熟悉“临时站点”一词?好吧,登台站点是您的实时站点的精确克隆。您可以在不公开的情况下在您的私有子域中托管暂存站点。这就是为什么暂存站点首先是执行代码的理想场所。

    登台站点充当开发平台,允许您实现希望在实时站点中推送的任何代码。由于登台环境对人和搜索引擎来说是不可见的,因此它是一个理想的平台,可以在将代码移至实时站点之前对其进行测试、调整和微调。

    识别PHP错误

    在PHP中,您可以保留错误日志,因为它带有自己的错误报告级别。使用phpinfo文件,您可以在脚本的早期轻松检测PHP错误。这个phpinfo文件能够输出有关PHP当前状态的信息。

    信息类型包括编译选项和扩展、版本、环境、操作系统版本、HTTP标头和许可证。为此,您可以配置php.ini文件以启用PHP错误报告并指定存储错误日志的位置。

    error_reporting = E_ALL | E_STRICT
    error_log = /var/log/php_error.log
    error_reporting = E_ALL | E_STRICT
    error_log = /var/log/php_error.log
    error_reporting = E_ALL | E_STRICT 
    error_log = /var/log/php_error.log

    但是,您可能会发现某些托管计划中禁用了此选项。在这种情况下,您可以部署PHP代码检查器,它会为您提供一个助手来检查代码中的缺陷。该工具将使您能够查找和修复语法错误,例如拼写错误的函数或丢失的分号。

    但是如果你的语法没有错误,你必须想出像Eclipse和PHPStorm这样的IDE。这些工具将破坏代码并让您检查您是否在做任何逻辑错误,例如忽略您之前存储在字符串中的变量。

    检查您网站的服务器错误日志

    您在浏览网站时可能遇到的常见网站错误之一是“内部服务器错误”。这种类型的错误可能是由于脚本超过了最大运行时间。PHP和WordPress都无法检测到此类编码错误。因此,对于此类错误,您不会收到任何PHP错误消息。

    检查您网站的服务器错误日志

    这是访问和查看您网站的错误日志的地方。常规日志检查可以帮助新手和高级开发人员找出问题。如果错误来自PHP代码或由于WordPress安装中的任何失误,您可以从错误日志中了解。

    您还可以致电您的托管服务提供商以了解错误日志的位置。他们还可以让您了解可能导致内部服务器错误的任何可能原因。

    启用SCRIPT_DEBUG

    为了最大限度地减少加载时间和带宽使用,WordPress默认使用CSS和JavaScript文件的缩小版本。使用缩小版本可能会隐藏您利用的脚本或插件中的错误。为了摆脱这个问题,WordPress还提供了一个常量,您可以将其添加到wp-config.php文件中,即 –

    define( ‘SCRIPT_DEBUG’, true );
    define( ‘SCRIPT_DEBUG’, true );
    define( ‘SCRIPT_DEBUG’, true );

    如果常量“ SCRIPT_DEBUG ”被定义为“true”,WordPress将自动加载CSS和JavaScript文件的非缩小版本,使所有插件使用它们的完整版本。

    小结

    调试WordPress不是在公园里散步,而是一项艰巨的任务,有时会变得乏味。但是,如果您遵循我们在这篇文章中列出的7个技巧,您可能会发现该过程更简单、更容易。

    事实上,我们总是倾向于依赖备份数据,而不是发现和修复现有问题。这是不可取的,因为如果不修复现有问题,您将在备份中再次遇到相同的问题或错误。

    因此,努力工作并找出WordPress网站的错误,按照上述技巧调试您的WordPress网站。有了它,您将掌握编码的窍门,还可以调试您的WordPress网站。修复错误后,您也可能会从WordPress网站获得更好的成果。

  • 如何使用Varying Vagrant Vagrants (VVV) 进行WordPress开发

    如何使用Varying Vagrant Vagrants (VVV) 进行WordPress开发

    开发您的网站始终是一个里程碑式的时刻,尤其是当您是第一次时。然而,尽管几乎每个主机都提供了一种在您的服务器上启动WordPress安装的方法,但不建议这样做。

    更好的方法是在您的计算机上创建一个站点,并在您准备好后上传它。使用诸如Varying Vagrant Vagrants (VVV)之类的工具进行WordPress开发是一种很棒的、平台推荐的方法。

    在本文中,我们将向您展示如何启动和运行VVV。在此之前,我们还将讨论可供您使用的替代方案。首先,让我们讨论一下为什么您不应该在线开发您的网站。

    为什么要创建本地WordPress网站

    在创建WordPress 网站(尤其是您的第一个网站)时,您的主机通常会成为首选资源或支持点。这是因为您的主机应该比任何人都更了解如何最好地安装和使用它提供的站点创建包。

    但是,在实时服务器上开发WordPress网站并不是最好的方法,原因如下:

    • 您在不需要时使用您网站的资源。
    • 尽管可能可以访问暂存或站点限制功能,但您仍在“公开”开发您的站点。
    • 任何开发错误都可能影响您网络上的所有站点,如果发生最坏的情况会导致混乱。
    • 在实时服务器上开发您的网站存在安全问题,因为您的网站在很长一段时间内自然会不完整。

    也有很多连锁反应,比如感觉你在让你的网站上线时是在争分夺秒。因此,离线并给自己一个“有围墙的沙盒”环境来开发您的网站更容易在钱包和神经上。

    本地网站开发:您需要了解的基础知识

    本地网站开发通常涉及使用“堆栈”软件尽可能模拟实时服务器。传统上,网站将使用实时服务器上常见的软件在“LAMP”堆栈上开发:

    结合起来,这会将您的计算机变成本地服务器,让您在与实时服务器类似的环境中完整地创建和测试您的站点。

    然而,传统的LAMP堆栈也有缺点:它可能会占用大量资源,并且不是一致的远程开发的最佳解决方案。

    Vagrant等工具旨在提供精益且可移植的虚拟开发环境。结合VirtualBoxVMware等解决方案,您可以创建“虚拟机”——封装的服务器,本质上是可以在其中工作的全功能计算机。

    为WordPress开发引入Varying Vagrant Vagrants (VVV)

    总而言之,虽然传统的LAMP堆栈是一种在本地开发网站的可靠方法,但Vagrant和VirtualBox等工具会加速这一过程。

    Varying Vagrant Vagrants (VVV)是一个听起来很奇怪的解决方案,可帮助您利用虚拟机的力量来创建WordPress网站。如果您采用传统的开发路线,这通常需要一些额外的步骤。

    它是从命令行运行的,并且几乎包括您进行设置所需的一切:

    teddy bear命令窗口

    安装后,您可以从命令行vagrant up使用启动VVV,然后使用vagrant halt停止它。站点在专用配置文件中创建:

    默认配置

    您对VVV安装所做的任何更改都需要使用专用命令provision进行“配置”。

    您创建的站点在虚拟沙盒环境中运行。这意味着任何问题都是该环境独有的,不会影响您的实际计算机。

    WordPress已安装并准备好开始运行,因此一旦创建了站点,您就可以像访问实时站点一样访问它,使用.test作为您的顶级域 (TLD)。但是,在大多数情况下,这些站点只能通过您的计算机访问。

    这对于运行类似服务器的配置非常有用,因为您可以使用与实时服务器类似的设置,并在开发过程中诊断任何错误。通过在开发环境和实时服务器之间建立更一致的路径,您可能会节省时间和金钱。

    改变流浪者的替代方案

    虽然本文将重点介绍使用VVV进行WordPress开发,但值得一提的是一些替代方案。VVV不会是适合所有人的解决方案。

    考虑到您将使用多少命令行和配置文件,我们建议您至少需要代码的工作知识。调试VVV问题也必须通过命令行进行。更重要的是,支持渠道是通过GitHub实现的,因此您需要能够向其他程序员表达您的问题。

    如果您想利用VVV的强大功能但不喜欢编码的想法,那么有一些不错的选择。

    1.最有名的是DesktopServer

    DesktopServer

    它使用“XAMPP”堆栈通过专用的图形用户界面 (GUI) 创建WordPress站点,并且超级快速且易于使用。

    2.另一个类似的选择是Local by Flywheel

    Local by Flywheel

    它的GUI外观可以说是更时尚,并且使用Docker运行得更快——考虑这是Vagrant的替代品。

    虽然这两种解决方案都有免费套餐,但Local功能更全面。但是,这两种解决方案都具有许多很酷的高级功能,可以检查是否平衡了竞争环境。

    如何使用Varying Vagrant Vagrants (VVV) 进行WordPress开发

    诚然,设置VVV比其他解决方案更复杂。但是,您在易于设置方面失去的东西,您在灵活性和便携性方面获得了优势。

    以下是创建VVV WordPress网站的四个步骤:

    1. 在开始之前获取所需的工具
    2. 使用命令行安装VVV
    3. 使用config.yml文件创建新站点。
    4. 使用VVV仪表盘访问您的站点

    让我们来看看每一步,从你的工具开始。

    第 1 步:收集工具

    任何一位优秀的厨师都是在现场就餐的。换句话说,要创建一个WordPress开发环境,您需要将所有工具和技能放在一起,准备开始。

    VVV有一些系统和软件要求。这是您需要的:

    • 对命令行的管理访问权限。无论您的操作系统默认使用什么(例如Mac上的终端、Windows上的命令提示符和Linux上的Shell)都是完美的。如果您对这些生疏了,你可能还需要完善你的技能。
    • 最新版本的流浪者。这是您将用于为安装提供动力的堆栈,可以使用标准下载包进行安装。
    • 最新版本的VirtualBox。这为您的VVV安装提供了虚拟操作系统。同样,这是一个简单的下载。
    • Git版本控制系统 (VCS)。这是一个以开发人员为中心的工具,可让您跟踪您创建的项目中的更改。对于这个应用程序,我们将使用它来下载VVV。

    在开始安装VVV之前,最好先下载并安装计算机上尚未安装的任何组件。VVV中的错误可能会令人沮丧,并且不建议采取诱人的命运,特别是如果这是您第一次使用所涉及的软件。

    另外,请注意,具有M1处理器的Mac机器目前无法使用VVV和VirtualBox(由于后者存在问题),除非您使用无法始终如一的解决方法。因此,您可能需要考虑替代解决方案,至少是暂时的。

    第 2 步:在您的计算机上安装VVV

    总而言之,在此步骤之前,您需要安装Vagrant、VirtualBox和Git。准备好后,打开命令行,然后键入以下内容:

    git clone -b stable git://github.com/Varying-Vagrant-Vagrants/VVV.git ~/vagrant-local
    git clone -b stable git://github.com/Varying-Vagrant-Vagrants/VVV.git ~/vagrant-local
    git clone -b stable git://github.com/Varying-Vagrant-Vagrants/VVV.git ~/vagrant-local

    这要求Git VCS复制给定URL处的文件,并将其下载到名为vagrant-local的文件夹中,该文件夹位于您的文件夹中:

    克隆vvv

    这应该需要几秒钟的时间,具体取决于您的互联网连接,一旦您收到成功消息,您几乎可以启动并运行。

    第 3 步:在config.yml文件中创建新站点

    在第一次启动VVV之前,最好创建一个新的config.yml文件副本。这会保留默认站点,并让您有机会创建新站点:

    • 打开命令行并使用cd vagrant-local命令进入您的主VVV文件夹(通常为vagrant-local)。
    • 运行vagrant status,这将复制并重命名文件。

    接下来,在AtomSublime Text等文本编辑器中打开config.yml文件。

    编辑config.yml文件

    此文件包含创建和管理站点所需的所有配置:

    站点配置

    有很多选择,尽管我们将专注于网站部分。在这里,遵循现有站点的格式和布局,并添加以下“boilerplate”代码:

    mysite:repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.githosts:- mysite.test
    mysite:repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.githosts:- mysite.test
    mysite:repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template.githosts:- mysite.test

    这告诉VVV使用URL mysite.test使用预定义的模板创建一个新站点。准备好后,保存更改,然后返回命令行。

    第 4 步:访问您的VVV WordPress网站

    最后一步是访问您的VVV WordPress网站。您可以在基于浏览器的仪表盘中找到它们,要访问它,请执行以下操作:

    • 打开命令行,并通过运行cd vagrant-local确保您位于正确的目录中。
    • 运行vagrant up。这告诉Vagrant和VVV开始。
    • 可能输入您的管理员密码,然后按照说明安装GoodHosts插件,该插件可让您使用“漂亮”的URL访问仪表盘。
    • 选择一个网络——通常是选项1下的Wi-Fi 。

    在这一点上,你应该耐心等待VVV做它的事情。看到“泰迪熊”和VVV徽标后,您就可以访问仪表盘了。

    打开您的VVV WordPress网站

    要访问仪表盘,请打开浏览器并前往vvv.test。您将看到所有网站的列表(带有可点击的URL)以及其他相关信息:

    vvv仪表盘

    请注意,您无需在每次启动VVV时都访问仪表盘。您可以直接前往您网站的wp-admin页面直接登录,就像使用任何其他WordPress网站一样。默认凭据是:

    • 用户名: 管理员
    • 密码: 密码

    最后,您可以在config.yml文件中扩展站点模板,以创建完全自定义的WordPress安装版本。官方GitHub VVV页面提供了所有详细信息,甚至包括各种利基WordPress网站的示例。

    小结

    启动一个新的WordPress网站充满了兴奋和希望,因为这意味着您的项目正处于下一个阶段。为确保您只专注于开发您的网站,我们建议您使用本地工具,例如VVV

    这篇文章提供了开始使用VVV进行WordPress开发的四个步骤。让我们回顾一下这些步骤:

    1. 下载并安装运行VVV所需的一切,例如VagrantVirtualBox以及系统所需的任何东西。
    2. 通过命令行安装VVV。
    3. config.yml文件中为您的新站点创建参数。
    4. 启动VVV WordPress站点的专用URL并开始开发它。
  • 如何使用PHP函数get_posts来构建文章列表

    如何使用PHP函数get_posts来构建文章列表

    WordPress的get_posts是一个强大的函数,允许开发人员从WordPress数据库中检索内容。您可以最详细地指定要查找的文章、页面和自定义文章类型,获取自定义结果集,然后像PHP/MySQL忍者一样过滤和排序项目。

    但是,如果您不是PHP专业人士,请不要害怕,有无数的PHP教程可供您观看或阅读并学习该语言。您只需要一点PHP知识即可创建自定义文章列表以显示在您的网站上,因为get_posts函数保留了一组参数,允许构建简单或高级查询。

    使用WordPress的get_posts分为两个步骤:

    • 首先,您必须构建自定义查询。实际上,它看起来不像MySQL查询,而且您不会编写任何SELECT语句。您只需要定义一个参数数组并将其传递给get_posts函数。WordPress将该数组转换为真实且安全的MySQL查询,针对数据库运行它,并返回一个文章数组。
    • 其次,您必须使用foreach循环遍历get_posts返回的结果集。

    话虽如此,在这篇文章中,我们将首先深入探讨上面提到的关键概念,特别是如何get_posts工作、如何构建自定义查询以及如何在前端站点上显示数据。然后,我将提供一个真实示例,其中包含一段代码,您可以在暂存环境中获取、编辑和使用代码片段,以进行测试和开发。

    注意:我们通常区分文章、页面和自定义文章类型。在本文中,我们使用术语“post”来表示常规博客文章以及页面和自定义文章类型。所有这些文章类型都存储在数据库的“wp_posts”表中。文章类型之间的主要区别在于“post_type”字段的值。从开发人员的角度来看,文章、页面和自定义文章类型都是文章

    get_posts 函数简介

    Codex对get_posts函数的描述如下:

    检索最新文章的数组,或与给定条件匹配的文章。

    我们可以这样使用get_posts

    $args = array(
    ‘numberposts’=> 20,
    ‘category’=> 4
    );
    $my_posts = get_posts( $args );
    if( ! empty( $my_posts ) ){
    $output = ‘<ul>’;
    foreach ( $my_posts as $p ){
    $output .= ‘<li><a href=”‘ . get_permalink( $p->ID ) . ‘”>’
    . $p->post_title . ‘</a></li>’;
    }
    $output .= ‘</ul>’;
    }
    $args = array(
    ‘numberposts’=> 20,
    ‘category’=> 4
    );
    $my_posts = get_posts( $args );
    if( ! empty( $my_posts ) ){
    $output = ‘<ul>’;
    foreach ( $my_posts as $p ){
    $output .= ‘<li><a href=”‘ . get_permalink( $p->ID ) . ‘”>’
    . $p->post_title . ‘</a></li>’;
    }
    $output .= ‘</ul>’;
    }
    $args = array(
    'numberposts'=> 20,
    'category'=> 4
    );
    $my_posts = get_posts( $args );
    if( ! empty( $my_posts ) ){
    $output = '<ul>';
    foreach ( $my_posts as $p ){
    $output .= '<li><a href="' . get_permalink( $p->ID ) . '">' 
    . $p->post_title . '</a></li>';
    }
    $output .= '</ul>';
    }

    上面的函数检索指定类别中的最新20篇博文(默认为'post_type'is 'post')并返回一个对象数组$post。您可以遍历数组以在屏幕上显示文章。这很容易,对吧?

    get_posts 用于WP_Query检索文章项目,并且它保留了一个包含相同参数的数组WP_Query(除了少数例外)。所以我们有一个庞大的变量列表,可以用来构建我们的自定义查询。这些参数分为以下15个类别

    • Author参数
    • Category参数
    • Tag参数
    • Taxonomy参数
    • Search参数
    • Post & Page参数
    • Password参数
    • Post Type参数
    • Order & Orderby参数
    • Date参数
    • Custom Field (post meta) 参数
    • Permission参数
    • Mime Type参数
    • Caching参数
    • Return Fields参数

    快速查看上面的列表可以让您了解可以针对WordPress数据库构建和运行的各种自定义查询。因此,让我们更深入地研究查询参数并开始构建我们的文章列表。

    如何使用get_posts构建查询

    每一类参数都与同一条信息相关。例如,我们可以构建一个查询来检索指定作者或排除指定作者的文章,通过ID或nicename定义作者。同样,我们可以构建查询,按类别、标签、分类、日期、自定义字段等获取文章。

    如何使用参数构建简单查询

    许多参数可以以非常相似的方式使用,无论它们属于哪个类别。例如,以下参数允许按文章作者查询数据库:

    • authorint ) – 作者ID
    • author_name字符串)——作者的user_nicename
    • author__inarray ) – 多个作者ID的数组
    • author__not_inarray ) — 要从结果集中排除的多个作者ID的数组

    我们如何使用这些参数?

    在以下示例中,参数'author' 指定我们想要ID = 1的作者最近撰写的博客文章:

    $my_posts = get_posts( array( ‘author’ => 1 ) );
    $my_posts = get_posts( array( ‘author’ => 1 ) );
    $my_posts = get_posts( array( 'author' => 1 ) );

    相同的 ‘author’参数允许以不同的方式查询数据库:

    // return an array of posts from specific authors
    $my_posts = get_posts( array( ‘author’ => ‘1,5,12’ ) );
    // return an array of posts from specific authors
    $my_posts = get_posts( array( ‘author’ => ‘1,5,12’ ) );
    // return an array of posts from specific authors
    $my_posts = get_posts( array( 'author' => '1,5,12' ) );
    // return an array of posts excluding the specified author
    $my_posts = get_posts( array( ‘author’ => -1 ) );
    // return an array of posts excluding the specified author
    $my_posts = get_posts( array( ‘author’ => -1 ) );
    // return an array of posts excluding the specified author
    $my_posts = get_posts( array( 'author' => -1 ) );

    因此,根据参数的值,您将获得一个结果集,其中包含来自单个作者(整数)、来自多个作者(逗号分隔值列表)或不包括作者(负值)的文章。

    其他参数提供了额外的灵活性。例如,以下调用get_posts返回多个作者的最新博客文章数组:

    // return an array of posts from multiple authors
    $my_posts = get_posts( array( ‘author__in’ => array( 1, 5, 12 ) ) );
    // return an array of posts from multiple authors
    $my_posts = get_posts( array( ‘author__in’ => array( 1, 5, 12 ) ) );
    // return an array of posts from multiple authors
    $my_posts = get_posts( array( 'author__in' => array( 1, 5, 12 ) ) );

    我们还可以排除多个作者:

    // return an array of posts from multiple authors
    $my_posts = get_posts( array( ‘author__not_in’ => array( 1, 5, 12 ) ) );
    // return an array of posts from multiple authors
    $my_posts = get_posts( array( ‘author__not_in’ => array( 1, 5, 12 ) ) );
    // return an array of posts from multiple authors
    $my_posts = get_posts( array( 'author__not_in' => array( 1, 5, 12 ) ) );

    同样,我们可以使用类别参数、标签参数、文章类型参数,但有一些具体的区别。例如,请参见类别参数:

    • cat整数
    • category_name字符串
    • category__and数组
    • category__in数组
    • category__not_in数组

    无论如何,并非所有参数都像这些参数一样易于使用。此外,我们可以在单个查询中使用类别参数、文章类型参数、mime类型参数等。这意味着我们可以对结果集中的项目进行精细控制,并且可以完全基于文章类型、自定义分类法和自定义字段构建更高级的查询。

    所以,让我们更深入地研究吧!

    如何在WordPress中构建高级查询

    让我们通过基于自定义文章类型和自定义分类的更高级查询向前迈出一步。假设您有以下文章类型:

    名称:书籍

    分类名称:book_category、book_author

    支持:标题、编辑器、缩略图、摘录、自定义字段

    自定义文章类型和自定义分类法

    假设您想要指定自定义分类book_category中最新书籍的列表。这是参数数组:

    $args = array(
    ‘post_type’=> ‘book’,
    ‘tax_query’=> array(
    array(
    ‘taxonomy’=> ‘book_category’,
    ‘field’=> ‘slug’,
    ‘terms’=> ‘sci-fi’
    )
    ),
    );
    $args = array(
    ‘post_type’=> ‘book’,
    ‘tax_query’=> array(
    array(
    ‘taxonomy’=> ‘book_category’,
    ‘field’=> ‘slug’,
    ‘terms’=> ‘sci-fi’
    )
    ),
    );
    $args = array(
    'post_type'=> 'book',
    'tax_query'=> array(
    array(
    'taxonomy'=> 'book_category',
    'field'=> 'slug',
    'terms'=> 'sci-fi'
    )
    ),
    );

    上面的参数只是告诉WordPress检索'sci-fi' 'book_category'.

    参数采用'tax_query'参数数组的数组(即数组数组)。这些嵌套数组允许基于多种分类构建非常复杂的查询,如下例所示:

    $args = array(
    ‘numberposts’=> 10,
    ‘post_type’=> ‘book’,
    ‘relation’=> ‘AND’,
    ‘tax_query’=> array(
    array(
    ‘taxonomy’=> ‘book_category’,
    ‘field’=> ‘slug’,
    ‘terms’=> ‘sci-fi’
    ),
    array(
    ‘taxonomy’=> ‘book_author’,
    ‘field’=> ‘term_id’,
    ‘terms’=> 22
    )
    )
    );
    $args = array(
    ‘numberposts’=> 10,
    ‘post_type’=> ‘book’,
    ‘relation’=> ‘AND’,
    ‘tax_query’=> array(
    array(
    ‘taxonomy’=> ‘book_category’,
    ‘field’=> ‘slug’,
    ‘terms’=> ‘sci-fi’
    ),
    array(
    ‘taxonomy’=> ‘book_author’,
    ‘field’=> ‘term_id’,
    ‘terms’=> 22
    )
    )
    );
    $args = array(
    'numberposts'=> 10,
    'post_type'=> 'book',
    'relation'=> 'AND',
    'tax_query'=> array(
    array(
    'taxonomy'=> 'book_category',
    'field'=> 'slug',
    'terms'=> 'sci-fi'
    ),
    array(
    'taxonomy'=> 'book_author',
    'field'=> 'term_id',
    'terms'=> 22
    )
    )
    );

    这些参数允许我们检索由ID #22编写的最新10个'book'文章类型的列表。该参数设置 中列出的每个分类之间的逻辑关系。上面我们将其值设置为,因为我们需要检索属于作者 #22 所写类别的所有书籍。AND

    这些参数允许我们检索由ID为#22的'book_author'编写的'sci-fi''book_category'中最新10种“book”文章类型的列表。'relation'参数设置'tax_query'中列出的每个分类法之间的逻辑关系。在上面,我们将其值设置为AND,因为我们需要检索属于 'sci-fi'类别AND 由作者#22撰写的所有书籍。

     

    如何使用自定义字段参数构建元查询

    有时,您可能需要根据特定的自定义字段键和/或值构建文章列表。

    $args = array(
    ‘meta_key’=> ‘cover’,
    ‘meta_value’=> ‘paperback’,
    ‘meta_compare’=> ‘=’
    );
    $args = array(
    ‘meta_key’=> ‘cover’,
    ‘meta_value’=> ‘paperback’,
    ‘meta_compare’=> ‘=’
    );
    $args = array(
    'meta_key'=> 'cover',
    'meta_value'=> 'paperback',
    'meta_compare'=> '='
    );

    这些参数允许我们通过自定义字段键和值检索所有文章。'meta_compare'设置测试'meta_value'参数值所需的运算符。这里的'meta_value''=',这也是默认值。

    可用值为'=''!=''>''>=''<''<=''LIKE''NOT LIKE''IN''NOT IN''BETWEEN''NOT BETWEEN''NOT EXISTS''REGEXP','NOT REGEXP''RLIKE'.

    这是一个非常简单的示例,但我们可以构建更高级的查询。在下一个示例中,我们在数据库中查询2010年之后出版的奇幻书籍:

  • 如何创建一个有效的WordPress开发流程

    如何创建一个有效的WordPress开发流程

    WordPress是一个伟大的平台,但它有时也会有点无序–至少从代码的角度来看。这是因为代码已经经历了许多迭代,随着更新的推出,有时事情的编码并不像他们可以做的那样有效。

    虽然代码有时会有点乱,但这并不意味着你的开发过程也要跟着乱。虽然混乱的代码常常因为快速的生产计划而被原谅,但作为一个网络开发者,通过实施适当的工作流程,你实际上可以赚取更多。

    在这篇文章中,我们将介绍一些提示,帮助你用手头正确的工具以正确的方式开发WordPress网站。我们还将提供一个循序渐进的步骤,以帮助你遵循这些提示。

    通过遵循本指南,你可以避免开发WordPress网站时出现的一些常见问题。而且,你也将能够创建一个易于维护和更新的网站。

    1. 高质量代码的属性
    2. 为什么WordPress开发需要顶级的编码实践
    3. WordPress开发流程改进技巧
    4. 为什么花时间在WordPress开发流程规划上是至关重要的
    5. 理想的WordPress开发流程

    高质量代码的属性

    在我们深入研究关于创建WordPress开发工作流程的完整指南之前,让我们暂停一下,讨论一下为什么高质量的代码实际上很重要。很重要。

    当考虑你的网站的代码时,有几个关键属性你应该记住。这些属性将有助于确保你的代码是干净的,有条理的,并且易于理解。

    以下是高质量代码的一些属性。

    • 精简
    • 易行
    • 模块化
    • 评论良好
    • 可重复使用,易于维护

    这些属性可能看起来有很多需要记住,但不要担心。我们将在我们的指南中全面介绍如何实现每个属性。但首先,我们需要谈谈为什么你的开发工作流程必须遵守这些标准。

    为什么WordPress开发需要顶级的编码实践

    为了使WordPress网站正常运行,构成网站的代码需要是高质量的。这对WordPress网站尤其重要,因为它们通常很复杂,有许多不同的移动部件。

    有很多原因说明编码实践对WordPress的发展很重要。

    • WordPress网站很复杂。
    • 一行代码可以产生很大的影响。
    • 代码需要写得很好并经过良好的测试。
    • 高质量的代码更容易维护。
    • 优质的代码可以帮助提高性能。

    在你的发展规划过程中牢记这些要点,可以帮助你把注意力放在奖品上,可以这么说。

    WordPress开发流程改进技巧

    现在我们已经谈到了为什么拥有良好的代码是很重要的,让我们来看看一些提示,以帮助你改善你的WordPress工作流程的每一个项目。下面的每一个提示都将有助于确保你的WordPress代码是干净和优化的,这是你在2022年及以后应该优先考虑的。

    利用暂存环境

    暂存网站是你的真实网站的一个副本,你可以用它来测试变化,然后再在你的真实网站上做这些变化。这是一个有价值的工具,因为它允许你在不影响你的真实网站的情况下对变化进行试验。

    使用暂存网站有许多好处。

    1. 你可以在你的真实网站上进行修改之前测试这些修改。
    2. 你可以通过在一个暂存网站上测试来避免潜在的问题。
    3. 你可以确保你的改变是按预期进行的。
    4. 你可以避免你的实时网站的潜在停机时间。
    5. 你可以减少破坏你的直播网站的风险。

    实施版本控制

    版本控制是一个跟踪文件随时间变化的系统。这对WordPress的开发很有价值,因为它允许你跟踪变化,并在必要时恢复到早期版本。

    对大多数人来说,这意味着使用Git,它是一个流行的版本控制系统。如果你不熟悉,Git是一个免费和开源的分布式版本控制系统,旨在以速度和效率处理从小型到非常大的项目。

    Git

    Git

    当与一个大型的分布式团队一起工作时,它尤其有用。你最不想遇到的情况是,在你的WordPress安装中,你的functions.php文件有多个版本,所有的名字都略有不同,因为有很多人在同时进行修改。

    Git vs. GitHub

    Git是一个版本控制系统,是一个管理源代码历史的工具。GitHub是一家为使用Git的软件开发项目提供托管服务的公司。

    它们是两种不同的东西,但大多数人使用 “Git “一词来指代Git和GitHub

    安排自动备份

    WordPress开发中最重要的一个方面是备份。备份是至关重要的,因为它们允许你在出错时恢复你的网站。

    有很多方法可以实现自动备份,但最简单的方法之一是使用WordPress的备份插件。有许多伟大的备份插件,但我们推荐使用宝塔的自动备份计划。

    宝塔的自动备份计划任务

    宝塔的自动备份计划任务

    这个插件将每天自动创建你的WordPress网站的备份,并将其存储在一个外部服务器上。

    充分利用Linting的优势

    Linting是检查代码是否有错误的过程。这对WordPress的开发很有价值,因为它可以帮助你找到并修复你的代码中的错误。

    Sublime Text

    Sublime Text

    许多代码编辑器会自动做到这一点,但如果你想确定你的编辑器提供这一功能,可以考虑使用以
    下代码和文本编辑器之一。

    • Sublime Text:这个代码编辑器有很多功能,包括提示。
    • Atom:这个代码编辑器也有内置的打码功能。
    • Vim:这个文本编辑器也提供了提示功能以及许多其他功能。
    • Visual Studio Code:这个代码编辑器默认提供提示功能
    • PHPStorm:这是一个付费的开发环境,它提供了提示功能

    使用代码生成器

    代码生成器是一个可以为你自动生成代码的工具。这对WordPress的开发很有价值,因为它可以节省你的时间并帮助你避免错误。

    GenerateWP

    GenerateWP

    有许多代码生成器可用,但一些最流行的包括:

    • GenerateWP: 这个代码生成器可以为自定义帖子类型、分类法、元框等生成代码。
    • Hasty: 这个代码生成器可以为自定义帖子类型、分类法和字段生成代码
    • Nimbus Themes Code Generator: 这个代码生成器可以为自定义帖子类型、分类法和字段生成代码。

    使用WP-CLI

    WP-CLI是一个WordPress的命令行界面。这对WordPress的开发很有价值,因为它允许你从命令行管理你的WordPress网站。

    当您需要做一些重复性的或需要很多步骤的任务时,这尤其有用。例如,WP-CLI可以用来安装WordPress,创建文章和页面,安装插件和主题,以及更多。当您需要一次对多个网站进行修改时,它也很有帮助。

    使用一个WordPress开发框架

    WordPress开发框架是一个可以帮助你简化工作流程的工具。这对WordPress开发很有价值,因为它可以节省你的时间并帮助你避免错误。

    Bootstrap

    Bootstrap

    有许多WordPress开发框架,但一些最流行的框架包括:

    • Genesis: 这个来自StudioPress的框架是为了帮助你更快地建立WordPress网站。
    • Underscores: 这个来自Automattic的框架是为了帮助你快速开始开发WordPress主题
    • Foundation: 这个来自Zurb的框架旨在帮助你创建响应式的WordPress网站。
    • Bootstrap: 这个来自Twitter的框架是为WordPress网站创建响应式设计的一个超级有用的方法。

    使用任务运行器

    任务运行器是一个可以自动化任务的工具。这对WordPress开发很有价值,因为它可以节省你的时间并帮助你避免错误。它还允许你同时运行多个任务。

    Gulp

    Gulp

    有许多任务运行器可供选择,但一些最受欢迎的包括:

    • Gulp: 这个任务运行器可用于自动化任务,如CSS预处理、JavaScript刷新等。
    • Grunt: Grunt是一个Javascript任务运行器,它可以帮助你实现许多重复性任务的自动化。
    • Webpack: 这个任务运行器可用于自动化任务,如捆绑JavaScript文件等。

    立即熟悉Vue.js或React

    尽管你可能不会马上使用Vue.js或React,但现在熟悉这些框架很重要。这对WordPress的开发很有价值,因为随着时间的推移,它们正变得越来越流行,被使用得越来越多。

    Vue.js是一个JavaScript框架,允许你创建反应式用户界面。React是一个用于构建用户界面的JavaScript库。

    Vue.js和React都是WordPress开发的热门选择,因为它们速度快、重量轻、易于使用,是将WordPress变成无头CMS的关键。

    为什么花时间在WordPress开发流程规划上是至关重要的

    WordPress网站是复杂的,在开始任何项目之前,有一个良好的计划的工作流程是很重要的。通过花时间来计划你的工作流程,你可以节省时间并避免接下来的潜在问题。

    规划你的WordPress工作流程有很多好处。

    • 你可以通过了解需要做什么来节省时间。你可以通过提前
    • 计划来避免潜在的问题。
    • 你可以确保所有必要的任务都完成。你可以确保你的工作流程是高效和有效的。
    • 在将项目移交给合作者或客户时,你可以防止出现问题花时间在WordPress工作流程规划上是至关重要的,因为它可以节省你的时间并帮助你避免潜在的问题。

    通过花时间规划你的工作流程,你可以确保所有必要的任务都得到完成,确保你的工作流程是高效和有效的。

    理想的WordPress开发流程

    有许多方法来处理WordPress的工作流程,但有一些基本步骤应该包括在你的开发过程中。

    Step 1: 设置一个本地开发环境

    任何WordPress工作流程的第一步应该是建立一个本地开发环境。这很重要,因为它允许你在离线情况下在你的WordPress网站上工作,这可以节省时间和防止错误。

    设置本地开发环境的方法有很多,只是取决于你喜欢使用什么设置。

    通过一个完整的WordPress开发环境,并可一键推送至上线。

    你也可以同时在多个项目上工作,并在上线前合并变化。它还内置了A/B测试、插件兼容性测试和资源密集型测试,以帮助进一步确保你的构建结构合理。

    Step 2: 设置版本控制

    任何WordPress工作流程的第二步应该是设置版本控制。这很重要,因为它允许你跟踪你的代码的变化,并在必要时恢复到以前的版本。

    要做到这一点,你可以使用像Git这样的工具。这个过程看起来像下面这样

    1. 在GitHub上创建一个存储库

    要在GitHub上创建一个仓库,你可以使用以下步骤:

    1. 登录你的GitHub账户,点击右上角的+号。
    2. 从下拉菜单中选择New repository.
    3. 为你的资源库输入一个名称和描述,然后点击Create repository.

    在GitHub上创建一个仓库

    在GitHub上创建一个仓库

    2. 克隆版本库到你的本地开发环境

    具体步骤如下:

    1. 在你的仓库的GitHub页面,点击Clone or download按钮。
    2. Clone with HTTPs部分, 复制你的版本库的URL。
    3. 在你的开发环境中,打开终端,切换到你想克隆版本库的目录。
    4. 键入以下命令,替换你从Github复制的URL:
    git clone https://github.com/YOUR_USERNAME/YOUR_REPOSITORY.git
    git clone https://github.com/YOUR_USERNAME/YOUR_REPOSITORY.git
    git clone https://github.com/YOUR_USERNAME/YOUR_REPOSITORY.git

    这将克隆你的版本库到你的本地开发环境。

    3. 添加文件和提交修改

    1. 把你想用 Git 追踪的文件添加到你电脑上的仓库目录。
    2. 键入git add,后面跟着文件名,或者用git add . 来添加目录中的所有文件。
    3. 输入git commit -m,后面跟一个描述你所做修改的信息。
    4. 要把你的改动推送到Github,输入git push

    现在你可以继续在你的电脑上对文件进行修改,并把它们推送到 GitHub。当你想从Github获取最新版本的文件时,你可以使用git pull命令。

    如果你不使用GitHub,你也可以以类似的方式使用Bitbucket。

    Step 3: 本地开发

    在你建立了你的本地开发环境和版本控制之后,是时候开始在本地离线开发你的WordPress网站了。

    在本地开发时,你可以先在你的暂存网站上测试变化,然后再把它们推送到网上。这很重要,因为它允许你在影响到你的真实网站之前抓住任何错误或漏洞。

    Step 4: 利用WP-CLI

    WP-CLI是一个WordPress的命令行界面,允许您从终端管理您的WordPress网站。这对创建和管理用户、安装和更新插件等任务很有用。

    要安装WP-CLI,请遵循以下步骤:

    1. 下载WP-CLI phar文件。
    2. 将该文件移到你的PATH中的一个目录(例如,/usr/local/bin)。
    3. 将该文件重命名为wp
    4. 使该文件可执行(例如,chmod +x /usr/local/bin/wp)。
    5. 通过运行wp -version测试WP-CI是否已经安装

    从那里,您可以使用WP-CLI从命令行管理您的WordPress网站。关于命令的完整列表,您可以查看我们的WP-CLI v2深度指南

    Step 5: 用Gulp自动化你的工作流程

    Gulp是一个任务运行器,它允许你自动完成一些任务,如最小化CSS和JavaScript文件,编译Sass文件,以及更多。

    要使用Gulp,你首先需要在你的系统上全面安装它。要做到这一点,你需要Node.js、npm和Gulp。在Node.js中运行以下命令

    npm install gulp-cli -g
    npm install gulp-cli -g
    npm install gulp-cli -g

    一旦Gulp安装完毕,你可以在你的项目根部创建一个gulpfile.js文件。这个文件包含你的Gulp任务的代码。

    例如,下面的gulpfile.js文件包含一个用于最小化CSS文件的任务:

    var gulp = require(‘gulp’);
    var cleanCSS = require(‘gulp-clean-css’);
    gulp.task(‘minify-css’, function() {
    return gulp.src(‘src/*.css’)
    .pipe(cleanCSS({compatibility: ‘ie8’}))
    .pipe(gulp.dest(‘dist’));
    });
    var gulp = require(‘gulp’);
    var cleanCSS = require(‘gulp-clean-css’);
    gulp.task(‘minify-css’, function() {
    return gulp.src(‘src/*.css’)
    .pipe(cleanCSS({compatibility: ‘ie8’}))
    .pipe(gulp.dest(‘dist’));
    });
    var gulp = require('gulp');
    var cleanCSS = require('gulp-clean-css');
    gulp.task('minify-css', function() {
    return gulp.src('src/*.css')
    .pipe(cleanCSS({compatibility: 'ie8'}))
    .pipe(gulp.dest('dist'));
    });

    要运行这项任务,你可以使用以下命令:

    gulp minify-css
    gulp minify-css
    gulp minify-css

    Step 6: 使用Linting

    提示工具是静态代码分析工具,帮助你发现代码中的错误。对于我们这里的目的,我们使用Atom.io和以下的提示包

    • atom-beautify
    • atom-ternjs
    • linter
    • linter-eslint
    • linter-php
    • linter-sass-lint

    Atom.io

    Atom.io

    在你的终端中,导航到你想要lint的目录,运行以下命令:

    find . -name “*.js” -o -name “*.scss” | xargs eslint –fix
    find . -name “*.js” -o -name “*.scss” | xargs eslint –fix
    find . -name "*.js" -o -name "*.scss" | xargs eslint --fix

    这将使你的项目中所有的JavaScript和Sass文件都得到提示。

    如果你想对一个特定的文件进行lint,你可以运行以下命令:

    eslint –fix file-name.js
    eslint –fix file-name.js
    eslint --fix file-name.js

    将file-name.js替换为你要提示的文件的名称。

    Step 7: 使用CSS预处理程序

    CSS预处理器是一种工具,它允许你用不同的语言编写CSS,然后将其编译成CSS。两个最流行的CSS预处理器是Sass和Less。

    在本教程中,我们将使用Sass。要使用Sass,你首先需要安装Sass命令行工具。要做到这一点,请运行以下命令。

    gem install sass
    gem install sass
    gem install sass

    一旦安装了Sass,你可以使用以下命令将Sass文件编译成CSS。

    sass input.scss output.css
    sass input.scss output.css
    sass input.scss output.css

    用你的Sass文件的名称替换input.scss,用你想创建的CSS文件的名称替换output.css。

    如果你想观察你的Sass文件的变化,并自动将其编译成CSS,你可以使用以下命令:

    sass –watch input.scss:output.css
    sass –watch input.scss:output.css
    sass --watch input.scss:output.css

    Step 8: 使用部署插件

    部署插件是一种工具,它允许你轻松地将你的WordPress网站从本地开发环境部署到实时服务器上。

    有许多不同的工具可以用于这个目的,但我们推荐使用WP Pusher。WP Pusher是一个免费的部署插件,你可以在你的WordPress网站上使用

    WP Pusher

    WP Pusher

    要安装WP Pusher,首先,从WP Pusher网站下载ZIP文件。然后,登录你的WordPress网站,进入插件>安装插件。点击上传插件按钮,选择你刚刚下载的ZIP文件。一旦插件被安装和激活,你可以进入设置>WP Pusher来配置它。

    一旦WP Pusher配置好了,你就可以把WordPress插件和主题部署到你的实时服务器上,而完全不需要与FTP界面互动,也不需要搞乱你的WordPress数据库。

    Step 9: 利用WordPress Rest API

    WordPress REST API是一个强大的工具,它允许你从WordPress管理界面之外与你的WordPress网站互动。

    WordPress REST API可以用来为你的WordPress网站建立自定义解决方案。例如,你可以使用WordPress REST API为你的WordPress建立一个移动应用程序。网站或创建一个自定义的仪表板。

    要开始使用WordPress REST API,你需要通过WordPress命令行界面与它对接。我们最近发布了一个关于如何设置WordPress REST API的教程,可以指导你完成每个步骤。

    Step 10: 创建并遵循样式指南

    样式指南是一套用于编码和设计WordPress网站的指南。风格指南有助于确保你的代码是一致的和容易阅读的。

    有许多不同的样式指南,你可以在你的WordPress项目中使用。我们建议使用WordPress编码标准作为一个起点。然而,随着时间的推移,你可能会做许多修改和补充

    WordPress编码标准

    官方WordPress Codex的WordPress编码标准

    你所创建的任何风格指南都有可能一直在变化。但重要的一点是,它为你团队中的所有开发人员提供了一个确定的步骤集合和遵循的准则。

    基本上,你的风格指南应该是你的WordPress工作流程的书面形式。

    Step 11: 上线你的网站

    一旦你完成了上面所有的步骤,你的WordPress网站就可以被推送上线了。如果你使用像WP Pusher这样的部署插件,这个过程就像把你的代码推送到你的远程Git仓库一样简单。

    如果你没有使用部署插件或Git,你可以简单地从你的本地开发环境导出你的WordPress数据库,并将其导入你的实时服务器。你可以通过在你的WordPress管理仪表板上的 “工具”>”导出 “来做到这一点。

    然后,从导出选项中选择所有内容,点击下载导出文件按钮。一旦你有了你的数据库文件,你就可以通过在你的WordPress管理仪表板上的 “工具”>”导入 “把它导入到你的实时服务器。选择你刚刚导出的数据库文件,点击上传文件和导入按钮。

    你也可以使用FileZilla这样的FTP客户端将你的WordPress文件从你的本地开发环境手动转移到你的实时服务器。只需使用FTP连接到你的实时服务器,然后把你的WordPress文件拖放到
    public_html目录中。

    一旦你推送了你的WordPress网站,你可以花时间来测试一切,并确保一切都在正常工作。

    小结

    正如你所看到的,正确地创建一个WordPress开发工作流程有很多事情要做。但是,遵循这些步骤将有助于确保你的WordPress网站有条不紊,易于管理,并且运行顺畅。

  • 实例说明如何通过Python来连接管理WordPress

    实例说明如何通过Python来连接管理WordPress

    WordPress已经成为最常用的内容管理系统(CMS),这在很大程度上是由于它的应用编程接口(API)。WordPress的REST API使WordPress能够与其他用各种语言编写的应用程序 “对话”–包括Python。

    Python是一种可扩展的编程语言,具有多种用途和人类可读的语法,使它成为远程管理WordPress内容的强大工具。

    下面是一些WordPress REST API对你的应用程序的用例,以及你如何使用Python来支持它们。

    • 使用预定义模板,使你的应用程序能够快速地将原始数据转化为带有解释的格式化文章。
    • 在Django和Python上建立一个后台应用程序,在每次特定对象的折扣或销售事件发生时向你的客户显示限时优惠。
    • 整合Python脚本,在你的WordPress网站内运行

    本教程将帮助你创建一个简单的Python控制台应用程序,与WordPress REST API进行通信并执行操作。完整的项目代码也是可用的。

    1. 安装和配置WordPress
    2. 如何从Python中控制WordPress
    3. 在代码中获取文章
    4. 用代码创建文章
    5. 更新代码中的文章
    6. 删除代码中的文章

    安装和配置WordPress

    首先,让我们在你的开发机器上本地安装和运行一个WordPress网站。这是开始使用WordPress的一个很好的方法,因为你不需要创建一个账户或购买一个虚拟主机的域名。

    在本地安装WordPress之前,需要在你的电脑上运行一些组件,包括Apache网络服务器、本地数据库和编写WordPress的PHP语言。

    幸运的是,我们可以使用DevKinsta,一个免费的本地WordPress开发套件,可用于所有主要的操作系统(你不需要成为Kinsta的客户来使用它)。

    DevKinsta可用于Windows、Mac和Linux,并在你的本地机器上安装WordPress和它的所有依赖项。

    在安装DevKinsta之前,你必须在本地运行Docker,所以如果你还没有下载并安装Docker引擎。

    安装Docker Desktop后,你可以自动下载适合你的操作系统的软件包。

    DevKinsta安装页面

    DevKinsta安装页面

    当你运行DevKinsta安装程序时,Docker立即开始初始化。

    DevKinsta的创建新网站菜单

    DevKinsta的创建新网站菜单

    现在,DevKinsta安装程序要求你创建WordPress管理账户的凭据。

    DevKinsta显示新WordPress网站表格

    DevKinsta显示新WordPress网站表格

    一旦安装,DevKinsta就是一个独立的应用程序。现在你可以同时访问WordPress网站(通过Open Site按钮)和WordPress管理仪表板(WP Admin按钮)。

    DevKinsta的网站信息面板

    DevKinsta的网站信息面板

    接下来,你需要为你的网站启用SSL和HTTPS。这可以通过SSL证书提高你网站的安全性。

    DevKinsta的 "SSL和HTTPS "选项

    DevKinsta的 “SSL和HTTPS “选项

    现在进入DevKinsta应用程序,点击Open site按钮。一个新的浏览器标签将显示你的WordPress网站的主页。

    WordPress主页

    WordPress主页

    这是你的WordPress博客,你可以在这里开始写作。但是为了使Python能够访问和使用WordPress REST API,我们必须首先配置WordPress Admin。

    现在点击DevKinsta应用程序上的WP Admin按钮,然后提供你的用户和密码以访问WordPress仪表板。

    WordPress登录表单

    WordPress登录表单

    一旦你登录了,你会看到WordPress仪表盘

    WordPress仪表板页面

    WordPress仪表板页面

    WordPress使用cookie认证作为它的标准方法。但是,如果你想用REST API来控制它,你必须用一种允许访问WordPress REST API的技术来认证。

    为此,你将使用应用密码。这些是WordPress生成的24个字符的长字符串,并与有权限管理你的网站的用户配置文件联系起来。

    要使用应用密码,请点击仪表板上的插件菜单,然后搜索同名的插件。然后安装并激活应用程序密码插件。

    WordPress的应用密码插件

    WordPress的应用密码插件

    要开始创建你的应用程序密码,首先要展开Users菜单,点击All Users

    扩展的用户菜单

    扩展的用户菜单

    现在,点击你的管理员用户名下面的编辑。

    WP-Admin WordPress界面

    WP-Admin WordPress界面

    向下滚动 “编辑用户 “页面,找到 “应用密码 “部分。在这里,为应用程序密码提供一个名称,以后你将用它来验证你的Python应用程序的请求和消费REST API。

    申请密码页

    申请密码页

    点击Add New Application Password,这样WordPress就可以为你生成一个随机的24个字符的密码。

    新的申请密码页面

    新的申请密码页面

    接下来,复制这个密码并将其保存在一个安全的地方,以便以后使用。记住,一旦你关闭这个页面,你将无法找回这个密码。

    最后,你必须配置permalinks。WordPress允许你为你的permalinks和archives创建一个自定义的URL结构。让我们改变它,使一个WordPress的文章标题,例如,”你的第一个WordPress网站”,可以通过直观的URL https://your-website.local:port/your-first-wordpress-website/。这种方法带来了一些好处,包括改善可用性和美观性。

    要配置固定链接,展开设置部分并点击固定链接菜单。在这里,将常用设置改为文章名称。

    固定链接设置

    使用Post name结构来设置固定链接结构也是必要的,因为它将允许我们在以后的Python代码中使用JSON格式来检索文章。否则,将抛出一个JSON解码错误。

    如何从Python中控制WordPress

    WordPress是用PHP编写的,但它有一个REST API,使其他编程语言、网站和应用程序能够消费其内容。在REST架构中暴露WordPress的内容,使其以JSON格式提供。因此,其他服务可以与WordPress集成,执行创建、读取、更新和删除(CRUD)操作,而不需要安装本地的WordPress。

    接下来,你将建立一个简单的Python应用程序,看看你如何使用WordPress REST API来创建、检索、更新和删除文章。

    为你的新的简单Python项目创建一个新的目录,并命名为 PythonWordPress之类的。

    ../PythonWordPress
    ../PythonWordPress
    ../PythonWordPress

    现在,你将为你的项目创建一个虚拟环境,让它保持一套独立的已安装的 Python 包,将它们与你的系统目录隔离,避免版本冲突。通过执行venv 命令来创建一个虚拟环境。

    python3 -m venv .venv
    python3 -m venv .venv
    python3 -m venv .venv

    现在,运行一个命令来激活.venv虚拟环境。这个命令因操作系统而异。

    • Windows: .venvScriptsactivate
    • Mac/Linux: .venv/bin/activate

    接下来,存储与你的WordPress帐户相关的配置。为了将应用程序的配置与你的Python代码分开,在你的项目目录下创建一个.env文件,并将这些环境变量添加到该文件中。

    WEBSITE_URL=“<>”
    API_USERNAME=“<>”
    API_PASSWORD=“<>”
    WEBSITE_URL=”<>”

    API_USERNAME=”<>”

    API_PASSWORD=”<>”

    WEBSITE_URL="<>"
    
    API_USERNAME="<>"
    
    API_PASSWORD="<>"

    幸运的是,从Python应用中读取上述数据很容易。你可以安装Python-dotenv包,这样你的应用程序就可以从.env文件中读取配置。

    pip install python-dotenv
    pip install python-dotenv
    pip install python-dotenv

    然后,安装 aiohttp,一个用于 Python 的异步 HTTP 客户端/服务器。

    pip install aiohttp
    pip install aiohttp
    pip install aiohttp

    现在添加一个名为app.py的文件,代码如下。

    import asyncio
    menu_options = {
    1: ‘List Posts’,
    2: ‘Retrieve a Post’
    }
    def print_menu():
    for key in menu_options.keys():
    print (key, ‘–‘, menu_options[key] )
    async def main():
    while(True):
    print_menu()
    option = input_number(‘Enter your choice: ‘)
    #Check what choice was entered and act accordingly
    if option == 1:
    print(‘Listing posts…’)
    elif option == 2:
    print(‘Retrieving a post…’)
    else:
    print(‘Invalid option. Please enter a number between 1 and 5.’)
    def input_number(prompt):
    while True:
    try:
    value = int(input(prompt))
    except ValueError:
    print(‘Wrong input. Please enter a number …’)
    continue
    if value < 0:
    print(“Sorry, your response must not be negative.”)
    else:
    break
    return value
    def input_text(prompt):
    while True:
    text = input(prompt)
    if len(text) == 0:
    print(“Text is required.”)
    continue
    else:
    break
  • 最常见的WordPress函数

    常见WordPress函数

    WordPress是目前流行的内容管理系统(CMS)平台,适用于各种类型的网站。它的用户友好性和高度可定制性,使其成为众多项目的热门选择。

    这篇文章列出了定制WordPress主题开发中使用的常见PHP代码。我们提供了关于如何将这些函数纳入你的WordPress网站的基本概述。

    最常见的WordPress函数
    网站的标题 <?php bloginfo(‘title of my site’); ?>
    特定文章或页面的标题 <?php wp_title(); ?>
    style.css文件的主题位置 <?php bloginfo(‘stylesheet_ url’); ?>
    网站的Pingback URL <?php bloginfo(‘pingback_url’); ?>
    网站主题文件的位置 <?php bloginfo(‘template_url’); ?>
    网站的WordPress版本 <?php bloginfo(‘version’); ?>
    网站的Atom URL <?php bloginfo(‘atom_url’); ?>
    网站的确切URL <?php bloginfo(‘rss2_url’); ?>
    网站的名称 <?php bloginfo(‘name’); ?>
    网站的Html版本 <?php bloginfo(‘html_type’); ?>
    网站的字符集参数 <?php bloginfo(‘charset’); ?>
    特定文章或页面的作者 <?php the_author(); ?>
    某一特定文章或页面的ID <?php the_ID(); ?>
    编辑特定文章或页面的链接 <?php edit_post_link(); ?>
    来自blogroll的链接 <?php get_links_list(); ?>
    Comment.php文件的内容 <?php comments_template(); ?>
    网站的页面列表 <?php wp_list_pages(); ?>
    网站的类别列表 <?php wp_list_cats(); ?>
    下一篇文章的URL <?php next_post_link(‘%link’) ?>
    上一篇文章的URL <?php previous_post_link(‘%link’) ?>
    内置的日历 <?php get_calendar(); ?>
    网站的档案列表 <?php wp_get_archives() ?>
    下一篇和上一篇文章的链接 <?php posts_nav_link(); ?>
    网站的描述 <?php bloginfo(‘description’); ?>
    文章的内容 <?php the_content();?>
    检查是否有文章 <?php if(have_posts()) : ?>
    如果有文章就显示文章 <?php while(have_posts()) : the_post(); ?>
    关闭 ‘while’ PHP函数 <?php endwhile; ?>
    关闭 ‘if’ PHP函数 <?php endif; ?>
    Header.php文件的内容 <?php get_header(); ?>
    Sidebar.php文件的内容 <?php get_sidebar(); ?>
    Footer.php文件的内容 <?php get_footer(); ?>
    日期为’06-21-11’格式 <?php the_time(‘m-d-y’) ?>
    文章上的评论的链接 <?php comments_popup_link(); ?>
    一个特定的文章或页面的标题 <?php the_title ();?>
    特定文章或页面的URL <?php the_permalink() ?>
    特定文章或页面的分类 <?php the_category(‘,’) ?>

    如何使用WordPress函数

    WordPress的一个优点是它为内容生产者提供了直观的用户界面,同时又有足够的配置选项供任何认真的开发者定制CMS以满足独特的需求。上面列出的WordPress功能是由WordPress提供的,可以在开发WordPress主题时使用,但WordPress是可扩展的,允许编写自定义功能。幸运的是,在许多情况下,WordPress提供的功能足以建立或改变一个企业或组织的网站。如果你正在创建你自己的自定义WordPress主题,或者你想知道如何编辑一个你已经安装的主题,那么请执行这些步骤。

    1. 登录到你的WordPress网站。一个常见的地方是:www.your-wordpress-site.com/wp-admin 然而,WordPress登录页面的确切位置将取决于你的网站是如何设置的。
    2. 一旦登录到WordPress,你会看到一个叫做仪表板的页面。在左边应该有一个导航菜单,你要找到外观→编辑器部分来查看相关的WordPress文件。
    3. 编辑器页面的右侧会有一个你可以查看和编辑的文件列表。要开始,你可以从该列表中选择index.php,点击它。

    index.php模板的第一行可能有这样一段代码:<?php get_header(); ?>。这是一个简单的代码片段,说的是 “将页眉内容放在这个页面的顶部”。在另一个文件中,一个通常被命名为header.php的文件,有一些代码指定了标题的实际内容。如果你仍然在WordPress的编辑器部分,你可以从右边的列表中选择header.php来看看这是如何建立的。下面你会发现更多WordPress中常用的有用代码片段。

    其他有用的WordPress代码片段
    自定义permalinks /%postname%/
    包括任何文件 <?php include(TEMPLATEPATH .’/x’); ?>
    搜索表单的值 <?php the_search_query(); ?>
    打印信息 <?php _e(‘Message’); ?>
    显示注册链接 <?php wp_register(); ?>
    显示登录/注销链接 <?php wp_loginout(); ?>
    将内容分成若干页 <!–next page–>
    切断内容 <!–more–>
    管理员的元数据 <?php wp_meta(); ?>
    加载页面的时间 <?php timer_stop(1); ?>
    加载页面的查询 <?php echo get_num_queries(); ?>