博客

  • 创建和测试WordPress可访问性

    WordPress可用性

    在设计网站时,考虑您的受众很重要。如果您不针对各种用户优化网站,您将限制谁可以查看您的内容。如果不积极考虑 WordPress 的可访问性,它可能会导致用户快速离开您的网站并且永远不会返回。

    专注于 WordPress中的可访问性使更多的人能够浏览该网站并与之交互。借助可访问的设计和包容性功能,可以改善残障人士的整体用户体验 (UX)。

    在本文中,我们将仔细研究WordPress可访问性选项以及如何在您的网站上实施它们。然后,我们将向您展示如何在发布您的内容之前测试新功能。

    什么是Web可访问性?

    Web可访问性是使网站可供各种用户(包括残疾人)访问的过程。即使某人有视觉或运动障碍,网络可访问性也可以让他们平等地访问在线内容。

    WordPress可访问性简介

    例如,简单的对比色方案将使色盲用户能够轻松阅读内容。此外,由于其他访问者可能无法使用鼠标,因此您只需使用键盘即可使您的网站可导航。

    WordPress可访问性简介

    美国残疾人法案 (ADA)通过后,网络无障碍成为法律要求。如果您是Web开发人员或网站所有者,则在设计页面时必须牢记Web内容可访问性指南 (WCAG)

    例如,内容需要是:

    • 可感知。在线用户应该能够辨别网页上的信息,即使他们使用的是屏幕阅读器等辅助技术。
    • 可操作。网站必须易于浏览,无论访问者使用鼠标、键盘还是语音命令。
    • 可以理解。您的内容必须可读且易于理解。
    • 可自适应。用户应该能够使用各种设备访问您的内容,包括移动设备、浏览器和屏幕阅读器。

    对于WordPress,可访问性选项可能会受到影响。尽管WordPress可访问性团队始终评估核心软件、主题和插件,但不能保证这些功能会合规。

    本质上,开发人员和内容创建者负责选择他们自己的可访问性工具包。这可能需要额外的时间和精力,但它提供了许多好处:

    • 使广泛的用户能够查看您的内容
    • 改善残障人士的整体用户体验
    • 它有助于与您的观众建立信任

    简而言之,您希望每个人都能够访问您的WordPress网站。许多网站将有视力障碍或其他残疾的用户排除在外,但您应该在开发和设计过程中积极考虑他们。

    Web可访问性的主要特点是什么?

    在使您的网站可访问时,您需要处理几个功能。这些包括:

    • 导航。访问者应仅使用键盘或辅助技术访问网站的任何部分。
    • 替代文字。为视障用户使用描述性文本,以便他们可以使用屏幕阅读器访问信息。
    • 配色方案。调色板应该有对比色,使内容更具可读性。
    • 字体。网站上的所有文本大小至少应为16像素,并使用清晰的字体样式。

    即使您无法考虑所有医疗状况,但这些功能可以确保更多人可以与您的网站互动。

    WordPress可访问性的8个要点

    现在我们已经了解了Web可访问性的重要性,让我们讨论如何优化您的网站以符合这些准则。

    1. 选择正确的WordPress主题

    在设计网站时,您可能很想选择最好的免费WordPress主题之一。尽管许多选项很受欢迎、价格合理且设计精良,但这并不意味着它们可以使用。

    某些主题可能会使残障人士难以查看您的内容。例如,默认配色方案可能具有相似的色调,这意味着色盲用户将无法识别差异。

    残障人士访问障碍

    但是,您会在WordPress上找到几个可访问的主题。这些选项已通过可访问性审核,提供了便于导航和清晰可见性的附加功能。

    以下是您应该在可访问主题中寻找的一些基本功能:

    • 键盘导航
    • 合理的HTML标题结构
    • 对比色方案

    在搜索WordPress可访问性主题时,您可以使用过滤器缩小选项范围。在主题目录上,只需单击功能筛选器并选择可访问性就绪

    可访问性就绪主题

    应用过滤器后,您可以查看所有符合WordPress可访问性要求的主题。其中许多选项将具有简单的设计并为辅助技术提供支持。

    可访问性就绪主题列表

    但是,重要的是要注意这些主题仅需要满足最低可访问性要求。特定主题可能无法说明不同程度的残疾及其特定需求。为确保主题适合您个人,您需要阅读说明并评估其提供的可访问功能。

    2. 使用插件添加功能特性

    另一个简单的解决方案是使用WordPress可访问性插件。当您安装WordPress插件时,您可以自动提升网站的可访问性,而无需进行任何维护。

    在可访问性方面,有两种类型的插件可以提供帮助——一些插件旨在帮助您构建可访问的内容,而另一些插件可以使现有网站更具包容性。

    您可以通过应用正确的筛选器找到WordPress ADA合规插件。如果您使用的是插件目录,请确保使用“可访问性”插件标签浏览您的结果。

    WordPress ADA合规插件

    可访问性的最佳WordPress插件之一是One Click Accessibility

    One Click Accessibility

    建立网站后,此工具可以添加新功能,以便任何人都可以查看内容。例如,为键盘用户启用跳至内容功能,并使用负对比度、浅色背景或灰度选项更改配色方案。

    3. 用替代文字描述你的图片

    图像对网站而言与任何其他类型的内容一样重要。事实上,它们通常比文本块更可取,因为它们可以立即且更有创意地提供必要的信息。

    当由屏幕阅读器阅读时,编写良好的alt文本(也称为alt标签alt描述)可以向视障人士提供有关图像的类似信息,从而充分体验网站的内容。

    Alt文本在WordPress SEO中也发挥着重要作用,因为搜索引擎使用它们返回搜索结果。因此,处理您的alt描述不应该简单地看一眼。

    在WordPress中上传照片后,转到页面右侧的附件详细信息。在这里,您将看到添加titlecaptiondescriptionalt text的选项。

    附件详细信息

    对于替代文本,请确保在不超过字数限制(大约125个字符)的情况下编写图像描述。由于搜索引擎也使用此信息来理解图像,因此不要忘记包含目标关键字以提高您的排名。

    虽然标题是可选的,但它们可以为读者提供额外的信息。虽然替代文本应该简短且具有描述性,但您可以在字幕中更详细地介绍。

    向图像添加替代文本和标题可能是使您的WordPress网站更易于访问的一种简单方法。即使用户无法亲眼看到这些视觉效果,他们也可以通过听到它们的描述来理解它们。

    另一个有用的WordPress可访问性插件是Bulk Auto Image Alt Text

    Bulk Auto Image Alt Text

    顾名思义,此工具可以一次自动将替代文本添加到多个图像。它从图像名称、文章标题或关键字生成alt标签,并与Yoast SEOWooCommerce兼容。

    4.使用清晰的字体

    在设计在线内容时,您可能不会将字体视为可访问性问题。但是,错误的字体样式和大小会使人们难以阅读您的内容。

    如果您选择装饰性自定义字体,例如草书样式,有些人可能难以理解。因此,您需要选择简单易读的样式,例如CalibriArialTimes New Roman

    另一个需要考虑的因素是字体大小。通常,可访问的字体大小应至少为16像素。如果您的读者视力有限,他们还需要能够放大或调整显示大小。

    使用块主题时,您可以使用站点编辑器编辑站点的字体。在您的WordPress仪表板中,打开Appearance -> Editor。然后,选择排版

    排版设计

    接下来,单击文本元素。这将为您的字体样式和大小打开自定义选项。

    文本元素

    要启用字体大小调整,请使用Zeno Font Resizer等插件。

    Zeno Font Resizer

    使用此工具,您可以让访问者根据自己的喜好调整字体大小。此外,该插件使用cookie来保存用户的偏好。

    字体推荐:

    5.选择对比色

    当您自定义网站的配色方案时,重要的是要考虑可能有色盲的观众。如果您选择色调非常相似的颜色,视力不佳的人可能无法分辨它们之间的区别。

    选择对比色时,任何访问者都会轻松阅读您的内容。通常,带有白色背景的黑色文本是最可取的选择,因为它具有鲜明的对比。

    纽约时报网站

    幸运的是,如果您尝试使用相似的色调,WordPress会自动通知您。当它检测到难以阅读的颜色组合时,它会建议使用深色背景和明亮的配色方案。

    排版问题提示

    您还可以使用WebAIM对比度检查器为您的网站查找可访问的颜色。该工具允许尝试不同的阴影组合并查看它们是否具有足够的对比度。

    WebAIM对比度检查器

    选择颜色后,WebAIM对比度检查器将给出对比度。如果颜色的比例至少为4.5:1,则它们将通过WCAG可访问性要求。此外,您可以预览所选颜色的实际效果并确定它们是否适合您的网站。

    6.添加标题

    撰写新文章时,您需要使用适当的标题来组织它们。通过将文本分成不同的部分,您的内容将更易于阅读和理解。

    没有人愿意不间断地阅读一大段文字。因此,标题和适当的间距可以成为保持读者参与的有效方法。特别是如果您的观众有学习障碍,添加标题可以防止他们感到沮丧并完全离开网站。

    WordPress区块编辑器可以轻松为您的网站添加和组织标题。您可以简单地添加一个新的标题区块,然后选择您想要的大小。

    WordPress区块编辑器

    格式化标题后,您可以检查它们的大小是否正确。为此,请单击左上角的详细信息按钮。如果标题级别不正确,WordPress将提供警告消息。

    WordPress排版详细信息

    通过在您的文章中添加适当的标题,您将鼓励访问者从头到尾阅读帖子。反过来,这将降低跳出率并增加用户参与度。

    7.使用描述性锚文本

    增加WordPress可访问性的另一种方法是标记您的链接。撰写帖子时,您可能希望包含外部和内部链接,以将用户引导至不同的网页。但是,如果您只是使用“单击此处”作为锚文本,则不会描述链接的目标。

    如果您的观众使用屏幕阅读器,最好使锚文本更具描述性。这样,用户将在采取行动之前准确地知道他们正在点击什么。

    例如,您可能希望引导用户参加在线课程。通过使用“我的课程”锚定页面链接,您将告知查看者链接指向的位置。

    您还可以添加按钮以突出显示链接并使其更易于阅读。为此,只需在文章编辑器中插入一个按钮区块。

    按钮区块

    然后,写一个简短的描述,指定链接将指向何处。通过编辑按钮的文本和背景颜色,您可以设置易于阅读的对比色调。

    按钮样式

    总之,您会希望网站上的每个链接都经过精心描述和精心设计。当访问者使用屏幕阅读器时,描述性锚文本可以告知他们链接的目的地。这使他们能够毫不费力地浏览内容。

    8. 为视频写字幕和文字记录

    如果您的网站包含视频,那么也必须使这些内容易于访问。对于有听力或听觉处理困难的读者,您可以创建视频字幕和文字记录。这将有助于他们清楚地理解内容。

    将视频添加到WordPress的最简单方法之一是插入YouTube区块。幸运的是,YouTube具有自动字幕功能。这可以节省您自己创建字幕的时间。

    YouTube视频自动字幕

    对于较长的视频,请考虑创建脚本。这涉及将视频中的每个口语单词翻译成书面文件。

    成绩单可以帮助读者了解视频中发生的一切。如果您发布播客视频,将其转换为成绩单可提供有用的收听指南。

    一旦您决定编写成绩单,请在WordPress文章中输入此内容。如果您是一个很好的倾听者和快速打字员,这可能是一个简单的选择。

    但是,您也可以使用有用的转录软件来处理视频。使用VEED.IO等工具,您可以一键上传音频文件并将其转换为文本。

    VEED.IO

    该工具可以自动转录音频文件并将其翻译成100多种语言。您还可以选择在下载之前编辑成绩单。

    如何测试WordPress可访问性

    制作网站后,测试其可访问性很重要。您需要确保每个功能在启动之前都能正常运行。

    一个简单的方法是进行自动化测试。这涉及通过可访问性评估工具运行网站,以查看其执行情况。

    一种流行的测试WordPress可访问性的工具是WAVE。输入您网站的URL后,WAVE将提供可用辅助功能的摘要,以及您可以进行的改进列表。

    WordPress可访问性测试

    滚动浏览站点的预览窗口时,单击可访问性较差区域的警报图标。WAVE将通知您任何对比度错误、跳过的标题级别或冗余链接。

    WAVE工具可访问性测试示例

    同时,“结构”选项卡会告诉您您的内容是否易于浏览。

    WAVE工具可访问性测试结构

    尽管此工具非常有用,但它可能无法解决所有可访问性问题。因此,您可能还需要考虑手动测试网站。

    对于手动测试,请转到您网站的前端并尝试浏览内容,就好像您是新访问者一样。首先,检查是否有任何闪烁或移动的元素会分散或混淆用户的注意力。然后,评估字体大小和配色方案是否易于阅读。

    以下是运行手动测试的一些额外提示:

    • 确保您可以仅使用键盘浏览网站
    • 使用屏幕阅读器了解您的内容在大声朗读时的声音
    • 测试字体大小调整功能

    网站成功启动后,您可能希望收集访问者的反馈。如果您收到有关如何使内容更易于访问的评论,请尝试实施这些更改。

    小结

    专注于可访问性功能可能是留住在线访问者的关键。在考虑残疾人时,您可以轻松地为他们提供替代方案。这将有助于建立与读者的信任,并让他们回来获取新内容。

    回顾一下,这里有一些方法可以让您的WordPress网站更易于访问:

    1. 选择合适的主题
    2. 使用WordPress插件添加功能特性
    3. 用替代文字描述图像
    4. 使用清晰的字体
    5. 为网站设计选择对比色
    6. 包含较长文本的标题
    7. 清楚地标记链接
    8. 写标题和成绩单

    我们希望本指南有助于简化WordPress的可访问性,以便您可以使网站可供所有类型的访问者使用。

    WordPress可访问性常见问题解答

    到目前为止,我们已经讨论了一些使您的网站更易于访问的实用方法。现在,让我们看一些关于WordPress ADA合规性的常见问题。

    我的WordPress网站是否符合ADA标准?

    由于拥有无法访问的网站是违法的,因此确保您的网站符合ADA标准非常重要。如果您不确定您的WordPress网站是否符合ADA指南,请使用Accessibility Suite等插件。这将为您提供有关网站可访问性的详细报告。

    WordPress的可访问性如何?

    WordPress不保证其所有软件都可以访问,但某些主题和插件由辅助功能团队的专家检查。此外,WordPress希望其编码至少符合Web内容可访问性指南 (WCAG) 的AA级。当您拥有一个WordPress网站时,实现可访问的功能相当简单。您可以简单地选择WordPress可访问性就绪的主题和插件,然后使用WAVE之类的工具检查该站点。

  • WordPress React开发项目初学者指南

    WordPress React开发项目初学者指南

    WordPress是一个功能强大的内容管理系统 (CMS),可让您构建从简单网站到复杂复杂的电子商务商店的所有内容。要将平台的PHP代码与JavaScript集成,您可以利用WP REST API和WordPress React

    React由Facebook开发,是一个用户界面 (UI)库,它使用一种简单的、基于组件的方法来构建易于理解的可扩展、跨平台的应用程序。但是,重要的是要学习如何正确使用它以充分利用其特性和功能。

    在本指南中,我们将解释如何在WordPress中使用React。我们将讨论什么是框架,概述它的好处,并向您展示如何使用它。

    React简介

    在开始之前,我们首先要问一个问题,“什么是React?” . 也称为 ReactJS,它是可用于Web开发的最流行的JavaScript库之一。

    React官网

    它由Facebook创建和维护,包含大量可用于构建UI组件的JavaScript代码片段。

    与流行的看法相反,ReactJS不是一个JavaScript框架,因为它只呈现应用程序视图层的组件。因此,如果您正在寻找更复杂的功能,可以将其与Vue.js等实际框架配对。

    同样重要的是要注意有ReactJS和React Native。后者是基于React库构建的开源JavaScript框架。您可以使用它为iOS和Android创建跨平台应用程序和特定于平台的组件。

    React特性和功能

    要了解React的好处,了解它的工作原理会很有帮助。以下是它的一些最重要的特性和功能:

    JSX

    React中使用的主要JavaScript语法扩展是JSX。您可以使用它在JavaScript对象中嵌入HTML代码并简化复杂的代码结构。

    JSX还通过使第三方难以通过未明确写入应用程序的用户输入注入额外代码来帮助防止跨站点脚本 (XSS) 攻击。

    JSX标记包括名称、子项和属性。一个典型的HTML图像标签看起来像这样:

    < img class = “” src= “” alt= “” >
    < img class = “” src= “” alt= “” >
    < img class = "" src= "" alt= "" >

    但是,一个JSX标记应该如下所示:

    < img className= “” src= “” alt= “” / >
    < img className= “” src= “” alt= “” / >
    < img className= "" src= "" alt= "" / >

    此外,数值写在大括号内。与JavaScript类似,引号代表字符串:

    const name = ‘John Doe’;
    const element = <h1>Hello, {name}</h1>;
    ReactDOM.render(
    element,
    document.getElementById(‘root’)
    );
    const name = ‘John Doe’;
    const element = <h1>Hello, {name}</h1>;
    ReactDOM.render(
    element,
    document.getElementById(‘root’)
    );
    const name = 'John Doe’;
    const element = <h1>Hello, {name}</h1>;
    ReactDOM.render(
      element,
      document.getElementById('root')
    );

    您可以将任何有效的JavaScript表达式放在大括号内。例如,它可以是“user.firstName”或“formatName(user)”。

    虚拟DOM

    文档对象模型 (DOM)以数据树结构呈现网页,React将其存储在其内存中。React可以实现对树的某些部分的更新,而不是完全重新渲染它。

    Virtual DOM提供单向数据绑定。这使得操作和更新它比原始DOM更快。

    它使用称为差异的过程。这是React生成一个新的Virtual DOM树,将其与旧的比较,然后找到将更改应用到真实 DOM 的最有效方法的时候。这需要更少的时间和更少的资源,这对于涉及大量用户交互的大型项目是有益的。

    DOM还支持声明式API。这意味着您可以告诉React您希望UI处于哪种状态,以确保DOM将匹配该状态。

    组件

    正如我们所提到的,React组件是构成UI的独立、可重用的代码片段。这些组件的工作方式类似于JavaScript函数。他们接受道具,这是任意输入。当一个函数组件返回一个元素时,它会影响UI的外观。

    Props是只读的。这是一个例子:

    import React, { useState } from ‘react’
    import ReactDOM from ‘react-dom’
    const ParentComponent = () => {
    const [stateVariable, setStateVariable] = useState(‘this is the starting value for the variable’);
    return (
    <div>
    <h1>This is a function component view</h1>
    <ChildComponent exampleProp={stateVariable} />
    </div>
    )
    }
    const ChildComponent = (props) => {
    return (
    <div>
    <h2>{props.exampleProp}</h2>
    </div>
    )
    }
    ReactDOM.render( <ParentComponent />, document.getElementById(‘app’) );
    import React, { useState } from ‘react’
    import ReactDOM from ‘react-dom’

    const ParentComponent = () => {
    const [stateVariable, setStateVariable] = useState(‘this is the starting value for the variable’);

    return (
    <div>
    <h1>This is a function component view</h1>
    <ChildComponent exampleProp={stateVariable} />
    </div>
    )
    }

    const ChildComponent = (props) => {
    return (
    <div>
    <h2>{props.exampleProp}</h2>
    </div>
    )
    }

    ReactDOM.render( <ParentComponent />, document.getElementById(‘app’) );

    import React, { useState } from 'react' 
    import ReactDOM from 'react-dom' 
     
    const ParentComponent = () => { 
        const [stateVariable, setStateVariable] = useState('this is the starting value for the variable'); 
     
        return ( 
            <div> 
                <h1>This is a function component view</h1>
                <ChildComponent exampleProp={stateVariable} />
            </div> 
        ) 
    } 
     
    const ChildComponent = (props) => {
        return (
            <div>
                <h2>{props.exampleProp}</h2>
            </div>
        )
    }
     
     
    ReactDOM.render( <ParentComponent />, document.getElementById('app') );

    有两种主要类型——组件函数组件。类组件使用生命周期WordPress钩子和API调用:

    class ExampleComponent extends React.Component {
    constructor(props) {
    super(props);
    this.state = { };
    }
    render() {
    return (
    <div>
    <h1>This is a view created by a class component</h1>
    </div>
    );
    }
    }
    class ExampleComponent extends React.Component {
    constructor(props) {
    super(props);
    this.state = { };
    }
    render() {
    return (
    <div>
    <h1>This is a view created by a class component</h1>
    </div>
    );
    }
    }
    class ExampleComponent extends React.Component {
      constructor(props) {
        super(props);
        this.state = { };
      }
      render() {
        return (
          <div>
            <h1>This is a view created by a class component</h1>
          </div>
        );
      }
    }

    同时,一个功能组件看起来像下面的例子:

    const ExampleComponent = (props) => {
    const [stateVariable, setStateVariable] = useState();
    return (
    <div>
    <h1>This is a function component view</h1>
    </div>
    )
    }
    const ExampleComponent = (props) => {
    const [stateVariable, setStateVariable] = useState(”);
    return (
    <div>
    <h1>This is a function component view</h1>
    </div>
    )
    }
    const ExampleComponent = (props) => {
        const [stateVariable, setStateVariable] = useState('');
        return (
            <div>
                <h1>This is a function component view</h1>
            </div>
        )
    }

    功能组件用于在没有数据请求或状态管理的情况下呈现视图。

    状态

    State指的是React组件的内置对象。这是您存储元素属性值的地方。如果状态改变,组件会重新渲染。

    状态管理是管理这些应用程序状态并将数据存储在状态管理库中的过程。你可以使用一些状态管理库,包括ReduxRecoil,后者对初学者更友好。

    为什么要使用React?

    使用React进行WordPress开发有很多好处。对于初学者来说,它对初学者很友好,许多网络托管服务提供商都支持它的使用。

    由于它依赖于纯JavaScript和组件,因此您只需学习几天即可使用它来创建基于Web的应用程序。还有很多网站可以学习如何免费在线编码。对JavaScript基础知识的扎实理解可以简化该过程。

    React的另一个好处是它允许您在其他应用程序中重用组件。它是开源的,因此您可以预先构建您的组件并将它们嵌套在其他组件之间,而不会使您的代码臃肿。

    由于JSX集成,React组件的编写也相对简单,我们稍后会讨论。您可以合并HTML排版、标签并利用多种功能呈现来进行动态应用程序开发。

    借助React,您还可以使用官方命令行界面 (CLI) – Create React App – 来加快单页应用程序的开发。它带有预配置的工具,可以帮助您简化设置和学习过程。

    最后,React也是SEO友好的。虚拟DOM实现有助于提高页面速度、提高性能和服务器端渲染,使机器人更容易抓取您的网站。

    WP REST API概述

    WordPress REST应用程序接口 (API)使开发人员能够将JavaScript框架(例如React)与WordPress集成。您可以从站点的前端访问WP REST API,添加自定义文章类型,并构建由该API支持的React应用程序。

    WP REST API是一组用于构建软件应用程序的协议。它们定义了程序之间如何共享信息和数据以及它们的组件如何交互。REST是Representational State Transfer的缩写,指的是程序的风格定义架构约束。

    应用程序读取的结构化数据格式称为JavaScript Object Notation (JSON)。它有助于简化WordPress与其他应用程序和程序之间的通信。

    WP REST API产生了一个解耦环境,允许用户将WordPress视为无头CMS。这意味着可以使用多种前端框架来钩住WordPress的后端。这对于不太热衷于PHP的开发人员来说是有利的。

    React——开始之前

    JavaScript、CSS和HTML的基本知识将有助于学习React。此外,如果您熟悉ECMAScript 6(也称为 ES6)、函数式编程和面向对象编程,学习过程会更加高效。

    在程序方面,您还需要在计算机上安装一些依赖项。这包括NodeJSnpm以及一个文本编辑器。或者,您可能还想使用Git进行版本控制。

    为WordPress开发React项目最流行的方法是使用Create React App

    Create React App

    CRA提供了一个简单的环境来学习React并使用它来构建单页应用程序。请注意,为了使用它,您首先需要在您的设备上安装Node和npm。

    要创建一个新项目,您可以在终端中运行以下命令:

    npx create-react-app wp-react-demo
    npx create-react-app wp-react-demo
    npx create-react-app wp-react-demo
    

    如果您还没有这样做,它将确认您要在创建演示之前安装Create React App。这使样板模板。你也可以用你自己的名字替换“wp-react-demo”。

    接下来,运行以下命令:

    cd wp-react-demo
    npm start
    cd wp-react-demo
    npm start
    cd wp-react-demo
    npm start

    目录结构将如下所示:

    ├── README.md
    ├── package.json
    ├── public
    │ ├── favicon.ico
    │ ├── index.html
    │ └── manifest.json
    ├── src
    │ ├── App.css
    │ ├── App.js
    │ ├── App.test.js
    │ ├── index.css
    │ ├── index.js
    │ ├── logo.svg
    │ └── registerServiceWorker.js
    ├── README.md
    ├── package.json
    ├── public
    │ ├── favicon.ico
    │ ├── index.html
    │ └── manifest.json
    ├── src
    │ ├── App.css
    │ ├── App.js
    │ ├── App.test.js
    │ ├── index.css
    │ ├── index.js
    │ ├── logo.svg
    │ └── registerServiceWorker.js
    ├── README.md
    ├── package.json
    ├── public
    │ ├── favicon.ico
    │ ├── index.html
    │ └── manifest.json
    ├── src
    │ ├── App.css
    │ ├── App.js
    │ ├── App.test.js
    │ ├── index.css
    │ ├── index

  • 适合初学者和专业人士CSS备忘单

    适合初学者和专业人士CSS备忘单

    CSS是一种用于设计网站的语言,您可以使用它来添加背景、颜色,甚至过渡或其他交互元素。它还将帮助您创建一个对SEO友好的轻量级和响应式网站。

    但是,您可能很难熟悉各种CSS值,尤其是如果您是该语言的新手。

    为了帮助您,我们将分享一份完整的CSS备忘单,它将证明对您的所有Web开发项目都很有用。更重要的是,您会发现13页的CSS和CSS3声明以及几个可能的属性。

    了解CSS

    级联样式表或CSS是一种样式表语言,它决定了您的网站元素的外观。您可以通过将CSS文件嵌入HTML文档来控制网站内容的设计、布局、字体和颜色。

    让我们通过分解语法来看看CSS是如何工作的:

    selector {declaration}
    selector {declaration}
    selector {declaration}

    declaration可以分解为:

    selector {property: value;}
    selector {property: value;}
    selector {property: value;}

    如您所见,CSS语法由选择器和声明块组成。选择器是您要控制的HTML元素。而声明块包含HTML元素的属性名称和值——它们都由冒号 (:) 分隔并在大括号 ({}) 中声明。

    假设您希望标题一 ( h1 )的字体大小为20像素。您的语法应如下所示:

    h1 {font-size: 20px;}
    h1 {font-size: 20px;}
    h1 {font-size: 20px;}

    在这种情况下,选择器是h1。然后,font-size是属性名,20px是值。

    由于CSS有很多可能难以记住的选择器和声明,我们整理了一份完整的CSS和CSS3备忘单来帮助您掌握这门语言。

    下载CSS备忘单(下载地址见文末)后,将文件保存到您的设备或打印一份。这样,您就可以轻松找到所需的内容。

    CSS备忘单预览

    CSS备忘单预览

    这是我们PDF中最常见的CSS值和属性的预览!

    CSS备忘单预览图 备忘单预览图

    在此处下载完整的CSS备忘单:

    以.pdf 格式下载CSS备忘单

  • 如何将PHP代码添加到WordPress文章或页面

    如何将PHP代码添加到WordPress文章或页面

    想知道如何在WordPress文章或页面上运行PHP代码?你来对地方了。在这里,我们将揭示如何将PHP添加到WordPress页面或文章中,以便您改进它们的功能。

    将PHP代码添加到WordPress文章或页面的原因

    默认情况下,WordPress不允许您在文章或页面中运行PHP代码。添加PHP函数的推荐方法是修改子主题或创建自定义页面模板。

    尽管如此,在某些情况下,您可能希望将特定的PHP函数添加到单个文章或页面。在这些情况下,您可以使用WordPress代码小工具插件覆盖规则。

    以下教程将指导您完成使用Insert PHP Code Snippet插件将PHP代码直接添加到WordPress文章或页面的过程。

    如何使用插件将PHP代码添加到WordPress文章或页面

    在深入学习本教程之前,请确保您已安装并激活Insert PHP Code Snippet插件。

    1. 从您的WordPress仪表板,导航到XYZ PHP Code -> PHPCode Snippets

    2. 在PHP Code Snippets页面中,单击Add New PHP Code Snippet。将所需的 PHP 函数及其跟踪名称添加到指定的框中。在此示例中,我们将添加返回本地日期和时间的date()函数。然后,单击Create

    编辑PHP代码

    3. 如果该过程成功,屏幕上将出现一条确认消息和新功能。为将来使用,请通过检查“Action”部分确保您要使用的所有PHP函数都处于活动状态。活动的代码片段将显示一个绿色的暂停符号,而非活动的代码片段旁边将有一个绿色的复选标记。

    激活PHP代码

    4. 要将PHP代码添加到WordPress文章或页面,请将要使用的函数的片段短代码粘贴到所需位置。如果您使用的是Gutenberg区块编辑器,请使用简码代码区块来显示它。

    短码插入PHP代码

    5. 就是这样!您新创建的文章应执行PHP代码,如下例所示:

    PHP代码执行演示

    小结

    仅仅因为WordPress不允许您在文章或页面中运行 PHP 代码,这样做并非不可能。使用WordPress代码小工具插件,您可以轻松地将各种PHP函数添加到您的文章或页面中。

  • WordPress预发布环境初学者指南

    WordPress预发布环境初学者指南

    修改网站时,您需要确保所做的更改不会对您的网站产生负面影响。事故发生,网站崩溃,因此您需要一个安全的环境,您可以先在其中测试所有内容,然后再在线发布。

    为确保安全有效的修改,您可以创建一个WordPress预发布站点。

    本教程将向您展示如何创建一个预发布环境以安全地开发和修改您的WordPress网站,而不会影响您的原始网站。

    什么是WordPress预发布环境?

    WordPress预发布环境充当您网站的副本。使用它,您可以测试您计划对WordPress网站实施的任何更改,例如更新主题、插件或完全重新制作网站。

    请记住,WordPress预发布站点仅用于开发目的,公众或搜索引擎无法访问。

    开发人员通常会为同一个网站使用多个环境,以确保网站顺利运行。预发布环境站点是开发站点(开发人员在其中编写代码并执行初始测试)与生产站点(站点访问者看到的实时站点)之间的桥梁。

    为什么使用WordPress预发布环境?

    WordPress预发布站点可帮助您安全地测试对网站所做的任何更改。

    有了它,您可以修改站点而不会使其崩溃或更改实时版本的功能。这有助于避免停机时间和访问者糟糕的用户体验。

    但是,使用WordPress预发布站点有其优点和缺点,例如:

    优点

    • 无风险环境。一个更安全的环境来修改您的网站,而不会危及实时网站的功能。
    • 及早预防错误。它有助于在网站上线之前发现关键问题和系统崩溃。
    • 灵活的设置。根据您的喜好,可以在本地或在线进行设置。
    • 最好的输出。允许您构建一个更好的站点,因为您可以在启动它之前彻底测试所有内容。

    缺点

    • 陡峭的学习曲线。如果您是一个完整的初学者,那么创建一个WordPress预发布站点一开始似乎有些挑战。
    • 额外费用。如果您更喜欢让预发布站点在线,它可能包括额外的插件或托管费用。
    • 耗时。您将花一些时间测试WordPress预发布站点上的更改,并将这些相同的更改重新应用到该站点的实时版本。

    如何使用WP Staging创建WordPress预发布环境

    如果手动创建预发布站点似乎过于复杂,那么预发布站点插件可能是您的正确选择。

    WP Staging是设置预发布环境的首选插件之一,因此我们建议在使用任何其他插件之前先尝试一下。

    WP Staging

    在使用WP Staging创建预发布站点之前,请确定是在您的活动站点的子目录、子域还是其他域上设置预发布站点。

    在本教程中,我们将向您展示如何在子文件夹上创建WordPress预发布站点。

    1. 在子文件夹中创建新的预发布站点

    使用WP Staging创建预发布站点的最简单和最快的方法是使用子文件夹。此选项在免费高级插件版本中均设置为默认值。

    (1)在您的WordPress管理侧边栏上,导航到WP Staging -> Sites -> CREATE NEW STAGING SITE

    创建预发布站点

    (2)在Staging Site Name字段中输入预发布站点的名称。在此示例中,您的预发布站点URL将为https://mysite.com/staging

    预发布站点名称

    高级设置仅适用于WP Staging Pro用户。本节提供更高级的功能,例如创建克隆站点并将其保存到自定义目标目录的能力。

    2. 选择要包含和排除的数据库表

    在某些情况下,您可能希望从克隆过程中排除特定文件和数据库表。排除繁重的内容,例如由网络统计插件创建的表格,可以提高克隆过程的速度。

    您可以在插件的数据库表文件部分进行这些调整。

    数据库表

    请记住,如果您不确定自己在做什么,则不应篡改任何其他设置。如果有疑问,只需将所有内容保持默认即可。

    3. 开始克隆过程

    调整DB Tables and Files后,单击START CLONING按钮。

    此过程可能需要几分钟,具体取决于您网站的大小。

    克隆站点

    WP Staging完成创建临时网站后,它将通知您完成并显示临时网站的URL。您可以单击Open staging site按钮并直接访问新创建的预发布环境。

    访问预发布站点的另一种方法是从WordPress仪表盘导航到WP-Staging -> Sites。

    成功创建预发布站点

    WP Staging允许您在有空间的情况下创建尽可能多的预发布站点。

    其他WordPress预发布环境插件

    除了WP Staging,市场上还有另外三个优质的预发布环境站点插件。

    1.All-in-One WP Migration

    All-in-One WP Migration

    All-in-One WP Migration迁移所有WordPress网站文件,包括数据库、插件、主题和媒体文件。该插件提供了一个工具,只需将您的站点文件拖放到WordPress中即可将它们上传到不同的位置。

    All-in-One WP Migration的主要功能包括:

    • 绕过大小限制。分块上传或下载您的站点数据,克服任何文件大小限制。
    • 多合一登录凭据。使用与生产站点相同的用户名和密码登录预发布站点。
    • 导出期间的查找和替换。能够在导出过程中查找和替换数据库上的操作。
    • 选择性迁移。它提供了一个选项来排除特定文件,例如数据库和垃圾评论,从而更有效地复制您的WordPress网站。

    All-in-One WP Migration是一个免费插件。要添加更高级的功能,例如云存储迁移和更大尺寸的备份,您需要购买高级扩展。

    2.Duplicator

    Duplicator

    Duplicator是一个插件,可以在主机和域之间克隆、备份和迁移网站,让您轻松地将网站迁移到任何暂存位置。

    它通过创建一个包含站点数据库、内容、插件、主题和其他WordPress文件的ZIP文件的包来实现这一点。

    复印机的主要功能包括:

    • 预配置站点。Duplicator软件包使您可以避免重复设置。配置您的生产站点并将其捆绑到Duplicator包中。这样,您就不必在预发布环境站点上从头开始配置所有内容。
    • 恢复点。它可以让您在出现任何错误或执行错误更新时快速将系统恢复到已知且安全的状态。
    • 预定备份。高级版提供两种备份选项——立即或在特定时间安排。
    • 支持大型网站。打包形式的迁移使Duplicator能够有效地处理更大的网站。

    有两种类型的Duplicator插件:免费的Duplicator Lite和高级的Duplicator Pro。这些插件是独立的,因此您无法升级Duplicator Lite。如果您想使用 Duplicator Pro,则必须单独购买。

    Duplicator Pro附带每年69美元起的年度计划或549美元起的终身计划。

    3. WP Stagecoach

    WP Stagecoach

    WP Stagecoach使用数据库合并功能将您在预发布环境中所做的更改应用到实时站点。这意味着它不会在导入过程中覆盖您的数据库,这是一个很好的安全功能。

    WP Stagecoach还允许您更改实时站点,同时还可以在预发布站点上工作。

    该插件特别适用于电子商务网站或其他定期更新其内容或数据库的网站。它允许您在保持内容、订单或注册运行的同时对站点进行故障排除或修改。

    WP Stagecoach的主要功能包括:

    • 一键设置。您可以一键设置预发布站点或将更改推送到您的实时站点。这对非技术用户特别有益,因为他们可以跳过技术步骤,使他们的工作更快更容易。
    • 受密码保护的预发布站点。您的预发布环境站点位于您的服务器上并受密码保护,以便您可以安全地向您的客户或队友展示它。
    • 选择性迁移。您可以选择要将哪些更改上传到您的实时站点。
    • 支持大型网站。它也适用于多个网站。该插件可以分块导入站点文件,如果您的服务器速度较慢,这将很有帮助。
    • 恢复备份。当您不小心犯了错误时,WP Stagecoach会提供一个链接以恢复到您的旧站点。

    WP Stagecoach是一个付费插件,具有各种计划选项,起价为99美元/年。

    小结

    WordPress预发布环境为您提供了一个安全的地方来修改您的网站。

    与生产站点不同,预发布站点不会被搜索引擎索引,访问者将无法访问它们。这意味着,您不必担心犯错误和使您的网站崩溃。

    有两种方法可以创建WordPress预发布站点——通过手动设置或使用插件。评估您的技术技能并选择一种您觉得最舒服的方法。

  • 如何使用wp_nav_menu函数创建WordPress自定义菜单

    使用wp_nav_menu函数创建WordPress自定义菜单

    菜单是网站上一些最常见的元素。使用WordPress,如果您的主题支持,您可以轻松自定义菜单并从多个显示选项中进行选择。但是,如果您想在自定义位置使用菜单,则需要编辑主题文件并添加wp_nav_menu函数。

    通过将此功能与register_nav_menu结合使用,您将能够在网站的任何位置创建和放置菜单。即使您不是开发人员,添加和配置这些功能也相对简单。此外,您可以直接从WordPress仪表盘编辑菜单。

    在本文中,我们将讨论WordPress的wp_nav_menu函数的工作原理。我们将向您展示哪些参数和类与wp_nav_menu一起使用,然后解释如何在您的主题中使用该函数。

    什么是wp_nav_menu函数?

    wp_nav_menu是一个可以在WordPress中显示自定义菜单的功能。与显示现有页面列表的wp_page_menu不同, wp_nav_menu仅适用于自定义菜单。

    您可以将该功能添加到任何主题的模板文件中,以控制您希望菜单出现的位置。这是一个没有任何特定参数的函数的快速示例:

    wp_nav_menu( array $args = array() )
    wp_nav_menu( array $args = array() )
    wp_nav_menu( array $args = array() )
    

    您需要指定要显示哪个菜单才能使代码正常工作。实际上,页面模板中的 wp_nav_menu 示例函数如下所示:

    wp_nav_menu( array(
    ‘theme_location’ => ‘custom-menu’) );
    wp_nav_menu( array(
    ‘theme_location’ => ‘custom-menu’) );
    wp_nav_menu( array( 
        'theme_location' => 'custom-menu') );

    wp_nav_menu函数可以包含多个参数。在该示例中,我们使用theme_location来指定我们要使用的自定义菜单的名称。

    如果您不习惯将代码添加到您的网站,您可以选择WordPress菜单插件。一些工具将使您能够创建和放置自定义菜单,就像您使用wp_nav_menu一样。

    您也许还可以使用一些WordPress页面构建器。如果您已经在使用这些工具之一,请检查它是否提供自定义菜单功能。

    WordPress的wp_nav_menu参数和CSS类

    大多数WordPress函数都提供了各种预先确定的参数来修改它们的效果。对于wp_nav_menu,您同时拥有参数和CSS类。

    wp_nav_menu参数

    您可以使用一个或多个参数自定义wp_nav_menu函数。以下是可用选项:

    • ‘menu’ – 表示您正在使用哪个菜单。您可以使用ID、slug、名称或对象来指定菜单。
    • ‘menu_class’ – 为您的菜单配置CSS类。默认情况下,该函数将使用菜单类。
    • ‘menu_id’ – 指定菜单的ID。默认值或ID 是带有附加或递增数字的菜单的 slug。
    • ‘container’ – 选择用于菜单的容器类型。默认情况下,该函数使用div容器。
    • ‘container_class’ – 设置一个直接应用于菜单容器的CSS类。默认情况下,该菜单类将是menu-{menu slug}-container
    • ‘container_id’ – 设置菜单容器的ID。与菜单的ID一样,容器将默认使用递增的 slug。
    • ‘fallback_cb’ – 如果WordPress找不到您要显示的菜单,此参数会告诉它应该显示哪个其他元素。
    • ‘theme_location’ – 如果您使用register_nav_menu注册自定义菜单,此参数将显示它。
    • ‘items_wrap’ – 默认情况下,您的菜单将以无序列表 (ul)格式显示。此参数允许您配置如何包装菜单项。
    • ‘item_spacing’ – 大多数菜单使用空格来分隔项目。如果要禁用该空格,可以将此参数设置为discard

    我们没有提到一些额外的wp_nav_menu参数,包括用于向菜单添加文本的选项。但是,上面列出的参数是将自定义菜单添加到主题时使用的主要元素。

    下面是一个使用多个参数的函数示例:

    <?php
    wp_nav_menu( array(
    ‘theme_location’ => ‘custom-menu’,
    ‘container_class’ => ‘menu-class’
    ‘fallback_cb’ => ‘wp_page_menu’ ) );
    ?>
    <?php
    wp_nav_menu( array(
    ‘theme_location’ => ‘custom-menu’,
    ‘container_class’ => ‘menu-class’
    ‘fallback_cb’ => ‘wp_page_menu’ ) );
    ?>
    <?php
    wp_nav_menu( array( 
        'theme_location' => 'custom-menu', 
        'container_class' => 'menu-class'
        'fallback_cb' => ‘wp_page_menu’ ) ); 
    ?>

    如果可用参数的数量似乎过多,请不要担心。在大多数情况下,您只会使用theme_locationcontainer_class参数。这使得配置函数非常简单。

    wp_nav_menu CSS类

    当您使用wp_nav_menu函数时,它会自动将一系列CSS类应用于每个显示的菜单项。

    以下是最重要的wp_nav_menu CSS类

    • .menu-item – 此类自动应用于每个菜单项。
    • .menu-item-has-children – 仅适用于带有子项的菜单项。
    • .menu-item-object-{object} – 适用于每个菜单项。对象占位符可以是post_type或分类。
    • .menu-item-object-category – 这些菜单项对应于特定的WordPress类别。
    • .menu-item-object-tag – 对应于 WordPress 标签的菜单项。
    • .menu-item-object-page – 静态页面中的菜单项。
    • .menu-item-object-{custom} – 对应于自定义文章类型的项目。
    • .menu-item-type-{type} – 适用于每个菜单项。类型占位符可以是post_type或taxonomy 。
    • .menu-item-type-post_type – 对应于任何post_type的项目。
    • .menu-item-type-taxonomy – 对应于任何分类的项目。

    如您所见,wp_nav_menu CSS类有很多重叠之处。您可以使用的大量选项意味着您可以在使用CSS设置自定义菜单样式时非常具体。

    请记住,您还可以使用带有wp_nav_menu参数的自定义CSS类。如果预先确定的类都没有针对您想要设置样式的确切菜单或项目,那么这种方法可能是一个很好的选择。

    如何使用WordPress的wp_nav_menu函数创建和自定义菜单

    既然您知道wp_nav_menu函数是如何工作的,那么是时候学习如何在您的主题中使用它了。让我们从讨论wp_nav_register开始。

    步骤 1:使用 wp_nav_register 函数创建自定义菜单

    正如我们之前提到的,wp_nav_menu不允许您创建自定义菜单,但允许您放置它们。这意味着您需要在使用该功能之前手动制作菜单。

    wp_nav_register允许您为特定主题创建或“注册”菜单。您需要编辑主题的functions.php文件才能使用它。

    在开始工作之前,如果您还没有使用子主题,我们建议您设置一个子主题。使用子主题将防止对主题代码的任何更改在您更新时消失。在更改基本文件之前完全备份您的网站也是明智之举。

    解决此问题后,您需要访问主题的functions.php文件。最简单的方法是导航到仪表盘中的外观 -> 主题文件编辑器页面。

    主题编辑器应该打开到您的活动主题,您可以使用右侧的菜单选择functions.php文件。

    主题functions.php文件

    或者,您可以使用文件传输协议 (FTP)访问 functions.php 。如果您更喜欢使用成熟的文本编辑器,我们推荐这种方法。您只需添加一段代码,因此内置的WordPress代码编辑器就足够了。

    导航到文件末尾并将以下代码添加到其中:

    function wpb_custom_new_menu() {
    register_nav_menu(‘custom-menu’,__( ‘Custom Menu’ ));
    }
    add_action( ‘init’, ‘wpb_custom_new_menu’ );
    function wpb_custom_new_menu() {
    register_nav_menu(‘custom-menu’,__( ‘Custom Menu’ ));
    }
    add_action( ‘init’, ‘wpb_custom_new_menu’ );
    function wpb_custom_new_menu() {
      register_nav_menu('custom-menu',__( 'Custom Menu' ));
    }
    add_action( 'init', 'wpb_custom_new_menu' );

    您需要修改custom-menu菜单的名称和slug,这将是Custom Menu字段。但是,您可以为自定义菜单设置任何名称。

    保存对functions.php文件的更改。现在是时候编辑哪些项目将包含在新菜单中了。

    步骤 2:编辑您的自定义WordPress菜单

    要编辑您刚刚设置的自定义菜单,请前往外观 -> 菜单。查找屏幕右下角的菜单设置部分。

    该部分应包括您在第一步中注册的新菜单位置。

    自定义菜单显示位置

    要编辑该位置将显示的项目,请使用“选择要编辑的菜单: ”选项选择一个菜单或创建一个新菜单。

    然后,使用左侧的列表选择您希望菜单包含的元素,然后在“菜单结构”部分下重新排列它们。

    自定义菜单结构

    每个菜单项包括一个显示名称和一个链接。当您对您的选择感到满意时,请记住在“菜单设置”下验证您的新自定义菜单是否处于活动状态。如果是,请将更改保存到菜单。

    步骤 3:使用wp_nav_menu函数显示新菜单

    在这个阶段,您应该有一个使用您的主题注册的现成菜单。但是,尽管菜单存在,但在您使用wp_nav_menu函数指定其位置之前,它不会出现在任何地方。

    您需要在页面模板中添加wp_nav_menu函数来放置自定义菜单。您有权访问的页面模板文件取决于您使用的主题。

    导航到外观 -> 主题文件编辑器以访问仪表盘中的这些文件。右侧的主题文件部分包含您可以从此屏幕编辑的所有文件的列表。

    主题文件

    在我们的示例中,我们选择了主题的单页模板。您需要添加到模板的代码应如下所示:

    <?php
    wp_nav_menu( array(
    ‘theme_location’ => ‘custom-menu’,
    ‘container_class’ => ‘menu-class’
    ‘fallback_cb’ => ‘wp_page_menu’ ) );
    ?>
    <?php
    wp_nav_menu( array(
    ‘theme_location’ => ‘custom-menu’,
    ‘container_class’ => ‘menu-class’
    ‘fallback_cb’ => ‘wp_page_menu’ ) );
    ?>
    <?php
    wp_nav_menu( array( 
        'theme_location' => 'custom-menu', 
        'container_class' => 'menu-class'
        'fallback_cb' => ‘wp_page_menu’ ) ); 
    ?>

    在将更改保存到模板文件之前,请记住使用自定义主题的 slug 和您要使用的其他参数更新占位符。我们在示例中包含了container_classfallback_cb参数。

    但是,您使用的代码可以很简单:

    <?php
    wp_nav_menu( array(
    ‘theme_location’ => ‘custom-menu’ ) );
    ?>
    <?php
    wp_nav_menu( array(
    ‘theme_location’ => ‘custom-menu’ ) );
    ?>
    <?php
    wp_nav_menu( array( 
        'theme_location' => 'custom-menu' ) ); 
    ?>

    该代码的位置将决定页面上菜单的位置。如果您不确定该展示位置的工作原理,您可以在模板文件中尝试不同的位置。

    我们不建议在编辑模板文件时更改代码的任何其他部分,除非您知道它的作用。由于您只添加了几行代码,因此如果有任何错误,您可以将其删除。

    编辑后,通过访问使用您正在处理的模板的页面之一来检查菜单是否正在加载。如果菜单未显示,则可能是theme_location参数的slug有错误,因此请继续仔细检查。

    小结

    尽管您可以通过WordPress创建自定义菜单,但wp不允许您添加自定义菜单位置。这就是wp_nav_menu函数的用武之地。使用此功能,您可以在网站的任何部分显示使用register_nav_menu创建的自定义菜单。

    以下是如何使用wp_nav_menu函数的快速回顾:

    1. 使用register_nav_menu函数创建自定义菜单。
    2. 编辑您的自定义WordPress菜单。
    3. 使用wp_nav_menu函数显示新菜单。
  • 使用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中添加分页符并自定义样式?

    使用理想的长度(字数)是文章在Google搜索中排名良好的成功因素之一。没有决定长度的规则,这取决于你写的主题。然而,长篇文章往往表现良好,因为除了焦点关键词之外,它们还可以对长尾关键词进行排名。

    不管怎样,一次展示3000字以上的文章,会让用户很快感到疲倦和无聊。解决方案是在WordPress中使用分页符,以便将文章分成几页。在本文中,我们将解释如何在WordPress中使用分页符并自定义样式。

    使用分页符时会发生什么?

    分页符是WordPress中将冗长的文章拆分为所需页数的功能。您可以在一篇文章中插入多个分页符以拆分为多个页面。发表的文章会有一个分页,用户可以点击它进入下一页阅读更多内容。假设您在一篇文章中插入了两个分页符。在这种情况下,文章将分为三个页面,如下所示,三个不同的 URL:

    yoursite.com/test-post/ 第 1 页
    yoursite.com/test-post/2/ 第 2 页
    yoursite.com/test-post/3/ 第 3 页

    请记住,每个URL在WordPress中都是一个单独的页面,这意味着用户可以独立访问它们。WordPress将在源代码中添加同一拆分页面(如 /2/ 或 /3/)的规范URL,以通知搜索引擎这些可以被视为独立页面。

    WordPress中分页符的规范URL

    WordPress中分页符的规范URL

    但是,您的XML站点地图将有一个文章URL,即文章的第 1 页。无论您使用默认的WordPress站点地图还是使用插件为您的站点生成站点地图,情况都是一样的。

    分页符的优点

    在WordPress中添加分页符有助于通过以下方式提高可见性:

    • 限制单个页面的长度而不会拉伸太长。
    • 用户可以导航到下一页或上一页以阅读内容,从而增加现场参与度和时间。
    • 每个页面都可能在搜索引擎中排名,从而提高您的流量。

    但是,请确保内容对您的读者足够有吸引力以保留它们并将页面分解在适当的位置。否则,用户可能会在未阅读完整内容的情况下离开页面,从而产生负面影响。

    在古腾堡编辑器中添加分页符

    分页符是古腾堡编辑器中的区块之一,您可以在内容的任何位置插入它。创建要插入分页符的段落块,只需键入/page以插入该区块。

    在Gutenberg中查找分页符区块

    在Gutenberg中查找分页符区块

    选择要插入的分页符区块,它将显示一条分隔线,如下图所示。这个区块没有额外的设置,你唯一能做的就是插入或删除。

    古腾堡编辑器中添加的分页符

    古腾堡编辑器中添加的分页符

    现在,发布或更新您的文章并在单独的浏览器选项卡中打开页面。您可以在编辑器中看到您在其中插入分页符的页面导航链接。Gutenberg编辑器中分页线下方的内容部分将移动到一个新页面,您可以通过单击第2页链接访问该页面。您可以插入多个分页符以将内容分成不同的页面,这些页面可以使用分页链接访问。下面是它在WordPress主题二〇二二的页面上的样式。

    默认WordPress主题中的分页符

    默认WordPress主题中的分页符

    在WordPress中自定义分页符的样式

    您使用的主题将决定已发布页面上分页符部分的样式。正如您在上面的屏幕截图中看到的那样,分页看起来很简单,用户甚至可能没有注意到它出现在内容的末尾。

    但是,商业主题使用自定义的内置样式来使分页的外观更具吸引力。例如,下面是Astra和Kadence主题中分页符分页的样式。

    Astra主题中的分页

    Astra主题中的分页

    Kadence主题中的分页符

    Kadence主题中的分页符

    如果您想自定义分页链接,WordPress提供了三个CSS类供您使用。您可以使用浏览器的开发人员工具部分更改实时站点的样式,以找到适合您站点的合适CSS。

    我们将在此处使用默认的二〇二二主题进行说明,当您使用不同的主题时,外观可能会有所不同。分页wrapper的CSS类是.post-nav-links,您可以使用以下样式为此类添加一些背景、填充、边框半径。

    .post-nav-links {
    background: rgb(144 238 144);
    padding: 10px;
    border-radius: 5px;
    }
    .post-nav-links {
    background: rgb(144 238 144);
    padding: 10px;
    border-radius: 5px;
    }
    .post-nav-links {
    background: rgb(144 238 144);
    padding: 10px;
    border-radius: 5px;
    }

    此CSS代码将分页wrapper更改为如下所示:

    为文章导航链接添加背景颜色

    为文章导航链接添加背景颜色

    其次是.post-page-numbers用于显示数字链接的类。您可以将以下样式添加到此类以显示数字周围的框。

    .post-page-numbers {
    border: 1px solid rgb(0 0 0);
    padding: 5px 10px;
    border-radius: 5px;
    }
    .post-page-numbers {
    border: 1px solid rgb(0 0 0);
    padding: 5px 10px;
    border-radius: 5px;
    }
    .post-page-numbers {
    border: 1px solid rgb(0 0 0);
    padding: 5px 10px;
    border-radius: 5px;
    }

    将框添加到页码

    将框添加到页码

    最后一类是.post-page-numbers.current区分活动页面链接。您可以为活动页面链接框添加不同的背景颜色,以便用户可以轻松了解他们当前处于该突出显示的页面中。

    .post-page-numbers.current {
    background: rgb(255 255 0);
    }
    .post-page-numbers.current {
    background: rgb(255 255 0);
    }
    .post-page-numbers.current {
    background: rgb(255 255 0);
    }

    我们将黄色背景添加到活动页面,如下所示:

    当前页面处于活动状态

    当前页面处于活动状态

    结合在一起,您可以在“外观 > 自定义 > 附加CSS”部分下添加上述所有CSS样式,以更改分页的外观。

    使用主题自动分页

    一些主题使用完全不同的自动分页设置方法。例如,流行的报纸主题提供根据您选择的标题级别创建智能列表。如果您选择2级标题,则每当您在内容中使用H2标题时,主题将自动分页并添加分页。此外,您可以选择显示为下拉列表的分页,以便用户可以看到标题并选择要阅读的页面。

    下拉分页

    下拉分页

    在经典编辑器中添加分页符

    如果您使用不支持Gutenberg的自定义文章类型或仍在使用旧的经典编辑器,那么您也可以插入分页符。切换到“文本”编辑器并将以下代码粘贴到您要插入分页符的位置。

    <!–nextpage–>
    <!–nextpage–>
    <!--nextpage-->

    在经典编辑器中添加分页符

    在经典编辑器中添加分页符

    现在,切换回“可视”编辑器以查看类似于Gutenberg编辑器的分页符分隔符。发布或更新内容以查看实时内容中的分页。

  • 如何在WordPress中使用Bootstrap图标?

    如何在WordPress中使用Bootstrap图标?

    Bootstrap是最流行的前端框架之一,最初由Twitter开发。该框架的主要目标是使用可重用组件创建对移动设备友好的网站。

    最初Bootstrap提供Glyphicons,然后使用Font Awesome,现在提供他们自己的一组图标,称为Bootstrap Icons。您可以在任何网站上使用引导图标,包括WordPress网站。好的部分是您不需要使用基本框架CSS和JS来使用图标。

    在本文中,我们将解释如何在WordPress网站中使用Bootstrap图标。

    Bootstrap图标

    直到几年前,Font Awesome非常受欢迎,几乎每个开发人员和网站所有者都在使用它们。这最初是为与Bootstrap一起使用而开发的,它基本上被免费的Bootstrap图标集所取代。您可以在任何项目中以两种方式使用Bootstrap图标 – SVG和Web字体。如果SVG无法在您的WordPress网站上运行,您可以使用网络字体选项。

    在WordPress中使用图标涉及两个步骤:

    • 在标题中链接图标CSS
    • 在内容中嵌入HTML

    在WordPress中链接Bootstrap图标CSS

    虽然您可以在服务器上下载和托管图标,但最简单的方法是使用他们的CDN链接。这是Bootstrap Icons的最新CDN链接:

    <link href=“https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.3/font/bootstrap-icons.css”>
    <link href=”https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.3/font/bootstrap-icons.css”>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.3/font/bootstrap-icons.css">

    您需要将此链接插入WordPress网站的header部分。有许多免费插件可用于在标题中插入CSS链接。但是,此插件不提供任何仅在少数页面上插入链接的控制。默认情况下,它将在整个站点的标题中加载CSS文件。当您只想在少数文章或页面上使用图标时,这可能不是必需的。在这种情况下,您可以使用我们将在本文中使用的Header Footer Code Manager插件。

    • 登录到您的WordPress管理面板,然后转到“插件 > 安装插件”部分。
    • 搜索“header code”以找到Header Footer Code Manager插件。
    • 单击“安装”按钮和“启用”按钮开始在您的站点上使用该插件。

    安装Header Footer Code Manager插件

    安装Header Footer Code Manager插件

    激活插件后,它将在侧边栏中添加一个名为HFCM的新菜单项。将鼠标悬停在HFCM菜单上并选择“Add New”选项。您将看到两个部分 – 一个用于控制代码段,然后是用于粘贴实际代码的框。在第一部分填写以下详细信息:

    • Snippet Name – 为您的片段输入名称,例如Bootstrap图标。
    • Snippet Type – 从下拉列表中选择CSS。
    • Site Display – 在此处选择“站点范围”选项以在整个站点中插入 CSS。否则,请从可用选项之一中进行选择,例如特定文章、页面、类别、标签、主页等。您将看到基于您的选择的其他选项。例如,选择特定文章将显示用于选择文章的“文章列表”下拉菜单。您可以选择要在其中显示图标的单个或多个文章。如果您想在站点范围内使用,则可以通过从排除列表中选择它们来排除在某些文章和页面上加载 CSS。
    • Location – 选择标题选项。
    • Device Display——选择“Show on ALL Devices”选项。如果需要,您可以仅在桌面或移动设备上进行选择。
    • Status – 选择“Active”选项。

    填写片段详细信息

    填写片段详细信息

    填写完所有详细信息后,将CDN链接粘贴到“Sinppet/Code”部分。

    添加CDN CSS链接

    添加CDN CSS链接

    单击“Save”按钮以应用您的更改。

    为图标插入HTML

    现在您已经在标题部分插入了CSS,下一步是为您的图标嵌入HTML。与Font Awesome图标类似,每个Bootstrap图标也有一个代码点和相应的CSS类名称。您可以参考图标页面以获取所有您喜欢的图标的CSS类名称的完整列表。您需要做的就是使用自定义HTML区块嵌入具有正确CSS类名称的HTML代码。您可以使用SVG或Web字体,因为CDN中的链接CSS允许这两种选择。

    使用网络字体

    这是最简单的选项,因为您只需要知道图标的CSS类名称。例如,下面是插入WhatsApp图标字体的格式。

    <i class=”bi bi-whatsapp”></i>
    <i class=”bi bi-whatsapp”></i>
    <i class="bi bi-whatsapp"></i>

    您可以通过添加内联CSS来更改大小和颜色,如下所示:

    <i class=“bi bi-whatsapp” style=“font-size: 5rem; color: blue;”></i>
    <i class=”bi bi-whatsapp” style=”font-size: 5rem; color: blue;”></i>
    <i class="bi bi-whatsapp" style="font-size: 5rem; color: blue;"></i>

     

    您可以简单地将这段代码粘贴到自定义HTML区块中。

    插入网页字体HTML

    插入网页字体HTML

    发布您的文章,当查看已发布的文章时,图标将如下所示。

    已发布文章中的Bootstrap图标

    已发布文章中的Bootstrap图标

    您可以在同一自定义HTML区块内添加其他图标,以将完整的社交图标列表显示为小工具。如果您想为您的图标添加超链接,只需使用HTML锚标记包装图标即可。你也可以使用   在图标之间添加空间。下面是带有Facebook、Twitter、YouTube图标的社交小工具的代码。

    <a href=“https://www.facebook.com/”> <i></i> </a>
    <a href=“https://twitter.com/”> <i></i> </a>
    <a href=“https://www.yourtube.com/”> <i></i> </a>
    <a href=”https://www.facebook.com/”> <i></i> </a>
    <a href=”https://twitter.com/”> <i></i> </a>
    <a href=”https://www.yourtube.com/”> <i></i> </a>
    <a href="https://www.facebook.com/"> <i></i> </a>
    <a href="https://twitter.com/"> <i></i> </a>
    <a href="https://www.yourtube.com/"> <i></i> </a>

    添加更多图标

    添加更多图标

    它在已发布的文章上如下所示。

    社交小工具图标

    社交小工具图标

    使用SVG图标

    为了使用SVG格式,您需要获取图标和CSS类的SVG。您可以通过单击Bootstrap图标页面中的图标并复制“Copy HTML”部分下的代码来获取此信息,如下所示。

    为Bootstrap图标复制SVG HTML代码

    为Bootstrap图标复制SVG HTML代码

    SVG将采用以下格式,默认情况下,图标大小通过宽度/高度属性控制。

    <svg xmlns=“http://www.w3.org/2000/svg” fill=“currentColor” viewBox=“0 0 16 16”>
    <path d=“M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z”/>
    </svg>
    <svg fill=”currentColor” viewBox=”0 0 16 16″>
    <path d=”M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z”/>
    </svg>
    <svg  fill="currentColor" viewBox="0 0 16 16">
    <path d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z"/>
    </svg>
    
    

    您可以使用CSS颜色属性更改大小并添加自定义颜色,如下所示。

    <svg xmlns=“http://www.w3.org/2000/svg” fill=“currentColor” viewBox=“0 0 16 16”>
    <path d=“M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z”/>
    </svg>
    <svg fill=”currentColor” viewBox=”0 0 16 16″>
    <path d=”M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z”/>
    </svg>
    <svg  fill="currentColor" viewBox="0 0 16 16">
    <path d="M0 1.146C0 .513.526 0 1.175 0h13.65C15.474 0 16 .513 16 1.146v13.708c0 .633-.526 1.146-1.175 1.146H1.175C.526 16 0 15.487 0 14.854V1.146zm4.943 12.248V6.169H2.542v7.225h2.401zm-1.2-8.212c.837 0 1.358-.554 1.358-1.248-.015-.709-.52-1.248-1.342-1.248-.822 0-1.359.54-1.359 1.248 0 .694.521 1.248 1.327 1.248h.016zm4.908 8.212V9.359c0-.216.016-.432.08-.586.173-.431.568-.878 1.232-.878.869 0 1.216.662 1.216 1.634v3.865h2.401V9.25c0-2.22-1.184-3.252-2.764-3.252-1.274 0-1.845.7-2.165 1.193v.025h-.016a5.54 5.54 0 0 1 .016-.025V6.169h-2.4c.03.678 0 7.225 0 7.225h2.4z"/>
    </svg>
    

    现在您可以将此代码嵌入到您的WordPress网站的自定义HTML中。您可以单击预览以查看图标,也可以发布文章以在实时页面中查看图标。

    小结

    由于Bootstrap图标是开源的并且免费提供,因此您可以利用它们来美化您的WordPress内容。我们建议使用Web字体选项,它只需要图标的CSS类名称。但是,如果您觉得舒服,您可以使用SVG。请注意,如果您已经在使用基于Bootstrap的WordPress主题,则图标的CSS链接应该是您主题的一部分,您不需要使用插件插入。

  • 如何在WordPress文章和页面上显示最近更新日期

    如何在WordPress文章和页面上显示最近更新日期

    在线发布内容时,您必须向用户展示博客文章、页面或媒体是新鲜的、准确的和最新的。

    揭示 内容及时性的一种方法是在WordPress博客文章或页面的某处显示“最近更新”日期 ,例如特色图片、标题或整篇文章的上方或下方。

    这样,用户可以看到最近更新的日期以及“发布”日期,或者您可以完全替换发布日期。

    简而言之,显示的日期最终会更新,向读者(和搜索引擎)表明您的内容是新鲜的,并且您没有让太多时间过去(这可能导致链接断开、信息不准确或过时的图像)。

    1. 在哪里查看发布日期和最近更新日期
    2. 在您的网站上显示“最近更新”日期的好处
    3. 如何在WordPress中显示最近更新日期
    4. 如何判断WordPress文章或页面上次更新的时间

    在哪里查看发布日期和最近更新日期

    根据您的主题样式,发布日期可能出现在文章、页面或两者上;展示位置最常见于标题之后、内容之前,并且通常以署名作为补充。

    旧文章上发布日期的示例

    旧文章上发布日期的示例

    话虽如此,发布日期的样式和位置完全取决于您的主题。您可能会在特色图片上方看到它并带有图标,如下面的主题所示。

    二〇二〇主题提供独特的发布日期格式

    二〇二〇主题提供独特的发布日期格式

    一些主题甚至将发布日期和最近更新日期放在内容的末尾,就在评论框之前。

    此主题的日期显示在内容下方

    此主题的日期显示在内容下方

    您还可以通过转到文章列表中的日期列在后端找到发布日期。

    日期列显示WordPress仪表盘中的发布日期

    日期列显示WordPress仪表盘中的发布日期

    WordPress还会在文章编辑器中显示发布日期。

    发布日期是在WordPress中编辑文章时显示的唯一日期

    发布日期是在WordPress中编辑文章时显示的唯一日期

    在本文中,我们解释了显示“上次更新”日期而不是发布日期的好处。我们还将向您介绍显示上次更新日期的各种方法,同时还演示如何判断网站上次更新的时间。

    继续阅读以了解所有相关信息!

    在您的网站上显示“最近更新”日期的好处

    定期更新您的内容并显示最近更新日期,可为网站所有者、搜索引擎用户以及您网站上的用户带来各种好处。考虑到搜索引擎在确定排名时会考虑新颖性和相关性,这对SEO也很有帮助。

    以下是在您的页面和文章上显示“上次更新”日期的主要好处。

    • 最近日期比发布日期更准确,它表明与不久前发布的内容相比,您的内容可能更加新鲜。
    • 用户看到这是一篇更新的文章,而不是认为它是一篇旧文章,这可能会增加您的点击率和用户阅读的总时间。
    • 您的“最近更新”日期使您更有可能脱颖而出,因为搜索引擎会在结果中显示这些日期,并且您的结果会被其他网站的列表正确放置。
    • 它为搜索引擎提供了另一种将文章识别为新鲜的方式。 搜索引擎当然会抓取内容;但这并不总是发生,“最近更新”日期会加强您网站上所做的任何更改。
    • 最近的日期提供了一种信任感,您已经消除了链接损坏、图像损坏以及任何不再真实的内容等内容问题。
    • 当内容(和日期)更新时,搜索引擎往往会更频繁地索引您的网站。这不是硬性规定,但众所周知,搜索引擎会记录内容不断更新的网站,并更频繁地抓取它们。
    • 您增加了获得更高整体搜索排名的潜力,因为您的整个网站都从您更新的文章中受益。
    • 它为您提供了更新内容的视觉借口/提醒,因为您可能会注意到较旧的日期并意识到刷新是有序的。
    • 搜索引擎更喜欢您更新旧内容,而不是每次您获得有关同一主题的新信息时都创建新文章。这消除了重复内容的可能性,并与为什么显示最近的日期最适合改进SEO相关联。
    • 一些出版物(如在线报纸)需要有“最近更新”日期,以便更正和新信息的内容显示在站点提要的顶部。这样用户就不会错过这些更新。

    如何在WordPress中显示最近更新日期

    默认情况下,WordPress 不显示新内容或刷新内容的最后更新日期,而是显示发布日期。即使在几年后对文章进行了多次更新,该发布日期仍然存在。

    一些现代主题提供内置功能,只需单击几下鼠标即可显示上次更新日期。首先检查WordPress Customizer以获取主题中的任何日期自定义设置是一个很好的做法。但不能保证任何东西都可用。

    如果您无法在 WordPress 定制器中添加最后更新日期,请使用以下方法添加它:

    1. 通过编辑functions.php文件和CSS
    2. 通过修改和添加代码到您的主题模板
    3. 使用插件

    前两种方法要求您访问站点的主题文件,因此如果您还没有经验,请阅读WordPress文件层次结构(以及如何理解它们)。

    查看以下三种方法,以了解适合您情况的最佳行动方案。

    方法 1:在您的主题中编辑functions.php和CSS

    在 WordPress 中添加“上次更新”日期的第一种方法是访问主题的functions.php文件并将代码添加到文件中。作为替代方案,您可以将该代码添加到子主题或特定于站点的插件中,以避免在切换或更新主题时代码消失的任何问题。

    所有这些选项都使用相同类型的CSS代码,因此我们将为您提供一些要添加的代码,并向您展示如何将其放置在functions.php文件中。如果使用子主题或特定于站点的插件,只需使用相同的代码并修改这些文件。

    首先,转到主题的functions.php文件。访问functions.php的最简单方法是使用FTP客户端连接SFTP。您通常可以通过FTP客户端转到 /www (或者您的网站域名) > /public > /wp-content > /themes > /theme-name (本教程是 /twentytwentyone).

    打开functions.php文件

    打开functions.php文件

    使用文本markdown编辑器打开文件,然后添加以下代码(如果使用子主题/特定于站点的插件,此代码也应该有效):

    function show_last_updated( $content ) {
    $u_time = get_the_time(‘U’);
    $u_modified_time = get_the_modified_time(‘U’);
    if ($u_modified_time >= $u_time + 86400) {
    $updated_date = get_the_modified_time(‘F jS, Y’);
    $updated_time = get_the_modified_time(‘h:i a’);
    $custom_content .= ‘<p class=”last-updated-date”>Recently updated on ‘. $updated_date . ‘ at ‘. $updated_time .‘</p>’;
    }
    $custom_content .= $content;
    return $custom_content;
    }
    add_filter( ‘the_content’, ‘show_last_updated’ );
    function show_last_updated( $content ) {
    $u_time = get_the_time(‘U’);
    $u_modified_time = get_the_modified_time(‘U’);
    if ($u_modified_time >= $u_time + 86400) {
    $updated_date = get_the_modified_time(‘F jS, Y’);
    $updated_time = get_the_modified_time(‘h:i a’);
    $custom_content .= ‘<p class=”last-updated-date”>Recently updated on ‘. $updated_date . ‘ at ‘. $updated_time .'</p>’;
    }
    $custom_content .= $content;
    return $custom_content;
    }
    add_filter( ‘the_content’, ‘show_last_updated’ );
    function show_last_updated( $content ) {
    $u_time = get_the_time('U');
    $u_modified_time = get_the_modified_time('U');
    if ($u_modified_time >= $u_time + 86400) {
    $updated_date = get_the_modified_time('F jS, Y');
    $updated_time = get_the_modified_time('h:i a');
    $custom_content .= '<p class="last-updated-date">Recently updated on '. $updated_date . ' at '. $updated_time .'</p>';
    }
    $custom_content .= $content;
    return $custom_content;
    }
    add_filter( 'the_content', 'show_last_updated' );

    保存并将文件上传回您的服务器。因此,最后更新日期会出现在您的文章内容之前。代码最初检查发布日期和上次更新日期是否相同。

    如果它们相同,您仍会单独看到发布日期。如果它们不同,则最后更新日期与发布日期一起显示。

    最近更新日期的前端视图

    最近更新日期的前端视图

    Tips:所有主题的行为都不同,因此您可能会发现发布日期仍然与最近更新日期相同;其他主题完全删除发布日期,为最近更新日期让路。

    如何更改新的最近更新日期的样式

    functions.php中的新PHP代码缺少样式,但从您的主题样式来看,它仍然可能最终看起来可以接受。如果没有,请考虑通过插入自定义CSS代码来设置上次更新日期的样式以控制其外观。这里有一些示例代码可供试用或扩展:

    .last-updated-date {
    font-size: large;
    font-family: monospace;
    text-transform: uppercase;
    color: white;
    background-color: black;
    }
    .last-updated-date {
    font-size: large;
    font-family: monospace;
    text-transform: uppercase;
    color: white;
    background-color: black;
    }
    .last-updated-date {
    font-size: large;
    font-family: monospace;
    text-transform: uppercase;
    color: white;
    background-color: black;
    }

    请注意,我们正在使用与插入到functions.php中的PHP代码last-updated-date相关的类 。您可以根据自己的目的更改它,但请确保您在CSS代码中也使用相同的类。

    注意:完全可以根据需要更改CSS属性和值;这些只是例子。

    在WordPress中转到外观 > 自定义 > 附加CSS后,将该CSS代码插入该字段。这使得CSS站点范围内而不是仅在一个页面或文章上。

    为样式添加CSS代码

    为样式添加CSS代码

    发布CSS代码后,这些样式更改会反映在上次更新日期的所有前端实例上。例如,我们更改了背景颜色、字体颜色、字体系列、字体大小,并将所有内容都转换为大写字母。

    CSS样式后的前端视图

    CSS样式后的前端视图

    如何从页面和其他非发布内容中删除最后更新日期

    您现在可能会发现您网站上的几乎每个网页都有最后更新日期;这不好,考虑到您没有理由显示主页、产品页面、关于我们页面和购物车等页面的最后更新时间。

    例如,此隐私政策页面现在会显示上次更新的时间,即使这对于登陆该页面的人来说是无用的信息(并且主题首先没有显示发布日期)。

    有些网站不需要隐私政策等页面上的最后更新日期

    有些网站不需要隐私政策等页面上的最后更新日期

    如果您发现自己处于这种情况,可能是因为您的主题。一些WordPress主题会自动删除页面的最后更新和发布日期,因为它们没有理由。但是您最终可能会得到一个没有这些功能的主题。在这种情况下,您只需要对先前实现的PHP代码进行简单的添加。

    因此,返回主题的functions.php文件并将其添加到86400)之间。

    && is_singular(‘post’)
    && is_singular(‘post’)
    && is_singular('post')

    像这样:

    function show_last_updated( $content ) {
    $u_time = get_the_time(‘U’);
    $u_modified_time = get_the_modified_time(‘U’);
    if ($u_modified_time >= $u_time + 86400 && is_singular(‘post’)) {
    $updated_date = get_the_modified_time(‘F jS, Y’);
    $updated_time = get_the_modified_time(‘h:i a’);
    $custom_content .= ‘<p class=”last-updated-date”>Recently updated on ‘. $updated_date . ‘ at ‘. $updated_time .‘</p>’;
    }
    $custom_content .= $content;
    return $custom_content;
    }
    add_filter( ‘the_content’, ‘show_last_updated’ );
    function show_last_updated( $content ) {
    $u_time = get_the_time(‘U’);
    $u_modified_time = get_the_modified_time(‘U’);
    if ($u_modified_time >= $u_time + 86400 && is_singular(‘post’)) {
    $updated_date = get_the_modified_time(‘F jS, Y’);
    $updated_time = get_the_modified_time(‘h:i a’);
    $custom_content .= ‘<p class=”last-updated-date”>Recently updated on ‘. $updated_date . ‘ at ‘. $updated_time .'</p>’;
    }
    $custom_content .= $content;
    return $custom_content;
    }
    add_filter( ‘the_content’, ‘show_last_updated’ );
    function show_last_updated( $content ) {
    $u_time = get_the_time('U');
    $u_modified_time = get_the_modified_time('U');
    if ($u_modified_time >= $u_time + 86400 && is_singular('post')) {
    $updated_date = get_the_modified_time('F jS, Y');
    $updated_time = get_the_modified_time('h:i a');
    $custom_content .= '<p class="last-updated-date">Recently updated on '. $updated_date . ' at '. $updated_time .'</p>';
    }
    $custom_content .= $content;
    return $custom_content;
    }
    add_filter( 'the_content', 'show_last_updated' );

    通过此添加,最近更新的日期文本将隐藏在每个不是文章的WordPress文章类型中(例如页面或产品)。

    日期会从所有页面中删除,但仍保留在文章上

    日期会从所有页面中删除,但仍保留在文章上

    删除发布日期并仅显示最后更新日期

    即使在您实现代码以添加最后更新日期之后,发布日期仍然存在是很常见的。一些主题将其删除,但并不常见。问题是现在您的WordPress文章上显示了两个日期:发布日期和最后更新日期。

    尽管在某些情况下可以接受,但两个日期最有可能使读者感到困惑。因此,您可能希望隐藏发布日期,但保留上次更新日期。

    有插件可以实现这一点,但CSS修复是一个简单的修复,因此我们不建议安装整个插件只是为了删除您网站上的一个元素。

    要摆脱发布日期但保留上次更新日期(之前从上述方法添加),请转到WordPress仪表盘中的外观 > 自定义 > 附加CSS

    将此代码粘贴到Additional CSS字段中:

    .entry-date {
    display: none !important;
    }
    .entry-date {
    display: none !important;
    }
    .entry-date {
    display: none !important;
    }

    单击“发布”按钮以使这些更改生效。

    在WordPress定制器中添加CSS