C# 两个exe程序之间通信

在C# WPF开发中,内存泄漏是一个常见且棘手的问题。内存泄漏会导致应用程序随着时间的推移消耗越来越多的内存,最终可能导致应用程序崩溃或者系统性能下降。以下是一些常见的内存泄漏原因以及相应的排查和解决方法。

1. 事件订阅

在 C# 中,实现两个独立执行程序(EXE)之间的通信是一个常见的需求。这种通信可以通过多种方式实现,包括但不限于命名管道、匿名管道、消息队列、内存映射文件、套接字(Sockets)以及使用 Windows API 如 SendMessage 等。本文将介绍几种常用的方法,并提供示例代码。

1. 使用命名管道进行通信

命名管道是一种常用的进程间通信(IPC)机制,允许不同进程之间进行双向通信。

服务端示例代码

csharpusing System;
using System.IO.Pipes;
using System.Text;

public class NamedPipeServer
{
public static void Main()
{
using (NamedPipeServerStream pipeServer = new NamedPipeServerStream("testpipe", PipeDirection.InOut))
{
Console.WriteLine("Waiting for client connection...");
pipeServer.WaitForConnection();

using (var reader = new StreamReader(pipeServer))
using (var writer = new StreamWriter(pipeServer))
{
writer.WriteLine("Hello from server");
writer.Flush();
string message = reader.ReadLine();
Console.WriteLine("Received from client: " + message);
}
}
}
}

客户端示例代码

csharpusing System;
using System.IO.Pipes;
using System.Text;

public class NamedPipeClient
{
public static void Main()
{
using (NamedPipeClientStream pipeClient = new NamedPipeClientStream(".", "testpipe", PipeDirection.InOut))
{
Console.WriteLine("Connecting to server...");
pipeClient.Connect();

using (var reader = new StreamReader(pipeClient))
using (var writer = new StreamWriter(pipeClient))
{
string message = reader.ReadLine();
Console.WriteLine("Received from server: " + message);
writer.WriteLine("Hello from client");
writer.Flush();
}
}
}
}

2. 使用匿名管道进行通信

匿名管道是另一种 IPC 机制,通常用于父子进程之间的通信。

服务端示例代码

csharpusing System;
using System.IO.Pipes;

public class AnonymousPipeServer
{
public static void Main()
{
using (AnonymousPipeServerStream pipeServer = new AnonymousPipeServerStream(PipeDirection.Out))
{
Console.WriteLine("Writing to client...");
pipeServer.Write(new byte[] { 0x01, 0x02, 0x03, 0x04 }, 0, 4);
}
}
}

客户端示例代码

csharpusing System;
using System.IO.Pipes;

public class AnonymousPipeClient
{
public static void Main()
{
using (AnonymousPipeClientStream pipeClient = new AnonymousPipeClientStream(PipeDirection.In))
{
AnonymousPipeServerStream pipeServer = new AnonymousPipeServerStream(PipeDirection.Out, pipeClient);
pipeServer.DisposeLocalCopyOfClientHandle();
byte[] buffer = new byte[4];
int bytesRead = pipeClient.Read(buffer, 0, 4);
Console.WriteLine("Read {0} bytes from server.", bytesRead);
}
}
}

3. 使用 SendMessage 实现通信

SendMessage 是一个 Windows API 函数,可以用来在两个独立的 EXE 程序之间发送消息。

发送端示例代码

csharpusing System;
using System.Runtime.InteropServices;

public class SendMessageSender
{
public const int WM_COPYDATA = 0x004A;

[DllImport("User32.dll", EntryPoint = "FindWindow")]
private static extern int FindWindow(string lpClassName, string lpWindowName);

[DllImport("User32.dll", EntryPoint = "SendMessage")]
private static extern int SendMessage(int hWnd, int Msg, int wParam, ref COPYDATASTRUCT lParam);

public struct COPYDATASTRUCT
{
public IntPtr dwData;
public int cbData;
[MarshalAs(UnmanagedType.LPStr)]
public string lpData;
}

public static void Main()
{
string message = "Hello from Sender";
COPYDATASTRUCT cds;
cds.dwData = IntPtr.Zero;
cds.cbData = message.Length + 1;
cds.lpData = message;

int hwnd = FindWindow(null, "Receiver Window Title");
SendMessage(hwnd, WM_COPYDATA, 0, ref cds);
}
}

接收端示例代码

csharpusing System;
using System.Runtime.InteropServices;
using System.Windows.Forms;

public class SendMessageReceiver : Form
{
public const int WM_COPYDATA = 0x004A;

public SendMessageReceiver()
{
// Set up the main window...
}

protected override void WndProc(ref Message m)
{
if (m.Msg == WM_COPYDATA)
{
COPYDATASTRUCT cds = (COPYDATASTRUCT)Marshal.PtrToStructure(m.LParam, typeof(COPYDATASTRUCT));
string text = Marshal.PtrToStringAnsi(cds.lpData, cds.cbData - 1);
MessageBox.Show(text);
}
base.WndProc(ref m);
}

public static void Main()
{
Application.Run(new SendMessageReceiver());
}
}

结论

以上介绍了几种在 C# 中实现两个 EXE 程序之间通信的方法。每种方法都有其适用场景和优缺点。命名管道适用于需要全双工通信的场景,匿名管道适用于父子进程间的通信,而 SendMessage 则适用于简单的数据传递。开发者可以根据具体需求选择合适的通信方式。

往期精品推荐:




如何在 Elementor 中创建自定义搜索结果页面

精心设计的搜索结果页面在提升用户体验方面起着至关重要的作用。它使访问者能够快速导航到他们正在寻找的相关内容。它不仅节省了浏览内容的时间,还鼓励他们进一步探索。

Elementor 是数百万个 WordPress 网站的首选页面构建器。它提供了主题构建器和有用的小部件,您可以通过它们轻松创建搜索结果页面。在本教程文章中,我们将向您解释如何在 Elementor 中创建自定义搜索结果页面。

请记住,搜索框是任何搜索结果页面的主要元素。人们在这里输入关键词来查找相关帖子和产品。因此,我们首先使用 Elementor 创建一个动态搜索框。然后,我们将通过添加存档小部件来完成页面,使其成为博客存档页面。

Elementor 中的自定义搜索结果页面是什么?

搜索结果页面是一个专用网页,可让用户和访问者快速导航到特定类型的内容,例如博客文章、电子商务产品和产品组合项目。对于内容丰富的网站来说,此类页面是必不可少的。

自定义搜索结果页面允许您根据需要整合各种元素,如特色图片、自定义标题、过滤器等,以使页面看起来更美观。这不仅可以改善用户体验,还可以帮助提高转化率。

WordPress 中自定义搜索结果页面的用例

在开始本教程之前,让我们先看一下 WordPress 中自定义搜索结果页面的一些用例。浏览下面的列表。

  • 电子商务网站

显示带有筛选条件的产品搜索结果页面。访客可以使用搜索栏查找确切的产品,或使用筛选条件按价格、评级和类别对产品进行排序。

  • 博客网站

博客文章和文章根据标签和类别显示。用户可以按作者、日期和其他查询进行排序。

  • 知识库页面

知识库页面通常涵盖 DIY 文档指南和实用资源。这些页面必须有搜索功能,以便快速探索有用的内容。

  • 服务型企业

用户可以在预订或填写联系表之前根据评级、价格范围、产品和其他相关详细信息对所需的服务进行分类。

  • 教育网站

高级搜索和过滤选项可让您搜索课程、课文和学习材料,以便学生和学习者可以轻松找到他们需要的内容。

如何在 Elementor 中创建自定义搜索结果页面

理论部分已经结束。在本节中,我们将介绍如何在 Elementor 中创建自定义搜索结果页面的教程部分。请确保您的网站上有以下插件可用。

将它们放到您的网站上后,请按照下面说明的教程进行操作。

步骤 01:转到 Elementor 主题生成器

登录您的 WordPress 信息中心。然后,导航至模板 > 主题构建器

前往 Elementor 主题生成器

选择站点部分下的搜索结果选项。然后单击+ 添加新按钮。

在主题生成器上选择搜索结果

这将打开 Elementor 画布,您可以在其中添加任何您想要创建自定义搜索结果页面的小部件。

Elementor 画布打开,创建自定义搜索结果页面

步骤 02:创建一个新的部分以添加搜索小部件

单击画布上的加号 (+) 图标。然后选择所需的列结构。

创建新部分以添加 Elementor Search 小部件

您必须为该部分写一个标题。这对 SEO 很有帮助。

因此,将标题小部件拖放到该部分中。这将允许您为该部分写一个标题。

撰写章节标题

进入样式选项卡。您将获得更改标题文本的颜色、排版、字体大小、对齐方式等选项。自己动手吧。

自定义标题小部件

同样,将“文本编辑器”小部件拖放到标题文本下的部分中。然后,编写所需的文本并按上图所示进行自定义。

为该部分撰写描述

步骤 03:在部分中添加搜索小部件

找到“搜索”小部件。按照与上面显示的相同方式将其拖放到“文本编辑器”小部件下的部分中。

在部分中添加搜索小部件

步骤 04:自定义搜索小部件

默认情况下,搜索小部件将显示在画布的整个宽度上。转到“高级”选项卡以减小其宽度。

您将看到边距部分。将所需的值放在右侧和左侧的部分框中。您将看到搜索小部件的宽度已减小。

自定义搜索小部件的宽度

接下来,进入样式选项卡。您将获得更改占位符文本排版、搜索框背景颜色、边框类型等的选项。根据您网站设计的要求自行完成这些操作。

我们在这里所做的是向搜索框添加一个半径值。我们在“边框半径”下的“顶部”和“左侧”框中放置了值。

仅向搜索框添加半径

同样,我们为搜索按钮添加了半径。为此,请展开“样式”选项卡下的“提交按钮”部分。在“半径”下的“右侧”“底部”框中输入值。

您将立即看到更改。如果您想添加悬停效果、背景颜色、框阴影等,请探索那里的选项。

为搜索按钮添加半径

探索如何使用 Elementor 创建博客文章模板

步骤 05:配置结果选项

我们希望您对 Ajax 搜索功能有所了解。每当用户开始在其中输入内容时,搜索框下方就会立即显示多个结果。

搜索小部件的结果选项允许您启用此功能并配置您想要在搜索框下显示的即时结果总数。

转到“内容”选项卡。然后,展开“结果”部分

启用“实时结果”选项。此功能现已启用。

配置结果选项

步骤 06:创建实时结果模板

Elementor 允许您创建实时结果模板,通过该模板您可以指定用户在搜索框中输入时如何显示内容。

单击结果部分下的创建模板按钮。

创建实时结果模板

这会将您带到一个新的画布。在这里,您必须为实时搜索结果创建布局并将其保存为模板。

用于设计搜索结果模板的画布

选择您想要的列结构。我们选择了定向行。当您向此部分添加内容时,它将继续显示在右侧。

选择列结构

我们想用这个搜索框来展示博客文章。因此,每当有人输入博客主题时,搜索框必须显示相关博客文章的列表。为此,我们必须添加推荐帖子小部件。

将特色图片小部件拖放到该部分。

向搜索结果模板添加特色图片

默认情况下,特色图片尺寸较大。首先,从“图片分辨率”选项中选择“中等尺寸”

选择特色图片尺寸

然后,进入“样式”选项卡。使用对齐方式、宽度和半径等选项,您可以进一步缩小特色图像的尺寸,如下面的屏幕截图所示。

对实时搜索结果的特色图片进行风格化

以同样的方式,将帖子标题小部件放在特色图片旁边。

将帖子标题小部件添加到搜索结果模板

您可以看到我们减小了字体大小并改变了其颜色。

注意:在此阶段,请保存模板。如有必要,您可以向其中添加更多元素。

自定义搜索结果的帖子标题

了解如何使用 Elementor 创建简历网站

步骤 07:将模板添加到结果中

来到我们正在设计的主页。点击结果部分下的下拉图标,选择您刚刚设计的模板。

将模板添加到实时搜索结果中

选择模板后,其下方会出现几个新选项。使用它们,您可以配置搜索框下显示的项目总数。

配置搜索结果项

步骤 08:对实时结果布局进行风格化

再次进入样式选项卡并展开结果部分。您可以设置背景类型、边框类型、半径、填充、与搜索字段的距离、列高、宽度以及行与列之间的间隙。

对“搜索”窗口小部件的“实时结果”选项进行样式化

预览实时结果

现在,在搜索框中输入一些内容。您将看到下面出现与输入主题相关的三个项目的列表。

这确保搜索小部件完美运行。

预览实时结果

注意:您的搜索小部件已准备就绪并完全可用。您可以在网站上的任何位置创建搜索框,例如在页眉、页脚和页面中以相同的方式创建搜索框。此类搜索框通常放置在页眉和存档帖子页面中。

步骤 09:添加存档帖子小部件

在搜索框部分下创建一个新部分。然后,将存档帖子小部件拖放到新部分。

添加存档帖子小部件

这将以网格格式显示您在网站上发布的所有博客文章。

帖子存档小部件已添加到 Elementor

步骤 10:配置存档帖子小部件的设置

现在是时候自定义存档帖子小部件并根据需要设置其布局了。该小部件有许多自定义选项。首先,配置基本设置。转到“内容”选项卡并展开“布局”部分

选择列数、 图像位置图像分辨率。我们选择了 2 列,将图像位置设置为顶部,并将分辨率设置为全分辨率。

自定义存档帖子小部件

之后,打开标题、摘录、元数据阅读更多选项。但如果您不想要任何选项,请将其保持关闭状态。

要定义摘录长度,请在旁边设置字符数。此外,指定要显示的元数据类型。我们为小部件选择了数据和评论元数据选项。

配置标题、摘录和元数据

分页将您的帖子分为多个页面。展开分页部分允许您配置分页类型、对齐方式、页面限制缩短

自定义分页

了解如何使用 Elementor 创建联系表单

步骤 11:对存档帖子小部件进行样式化

进入样式选项卡。在这里,你会看到几个选项。首先,展开布局部分

您可以自定义列间隙、行间隙对齐方式

对存档帖子小部件的布局进行样式化

展开图像部分将允许您设置图像和其他元素之间的边框半径和间距。

对存档帖子小部件的图像布局进行样式化

同样,通过展开内容部分,您可以设置标题、元信息、摘录和阅读更多文本的字体、颜色间距。

对存档帖子小部件的内容布局进行样式化

最后,展开“分页”部分。这将允许您自定义分页项的字体、颜色、悬停效果空间。

对存档帖子小部件的分页选项进行样式化

注意:实际上,每个 Elementor 小部件都有更多选项,包括存档帖子小部件。在上面的教程中,我们试图为您提供有关您可以为存档帖子小部件进行的自定义的基本概念。希望您可以探索和使用除这些之外的其他选项。

步骤 12:保存并预览搜索结果页面

现在,进入页面的预览模式。在框中输入内容并点击搜索按钮。您将看到相关博客文章以网格格式显示在下面。

预览搜索结果页面

有錯誤嗎?搜索结果页面似乎损坏了!

点击搜索按钮后,如果你看到如下图所示的相关博客文章,你可能会感到害怕。你可能会觉得这个页面坏了。

别担心!这个问题很容易解决。

搜索结果页面损坏

您只需在 Elementor 主题构建器中创建一个存档页面。您设计存档页面的方式将影响单击“搜索”按钮后相关博客文章的显示方式。

将存档页面添加到主题构建器

如果您希望我们创建一篇单独的教程文章,介绍如何使用 Elementor 创建存档页面,请通过评论部分告诉我们。我们将考虑根据您的期望设计这样的页面。

因此,这是本文教程部分的结尾。因此,您可以使用 WordPress 上的 Elementor 创建搜索结果页面。

加分点:使用 HappyAddons 获取 Elementor 的更多小部件

Elementor 的 HappyAddons

HappyAddons 是一款出色的插件,其中包含大量适用于 Elementor 的强大小部件。如果您觉得现有的 Elementor 小部件不够用,并且想要更多,您可以尝试 HappyAddons 插件。

HappyAddons 带有 120 多个小部件和数十种功能,可将您的 Elementor 网站提升到一个新的水平。该插件有免费版和高级版。您可以先试用免费版。如果满意,您可以随时升级到高级版并做一些很棒的事情。

点击下面附加的按钮获取插件。

HappyAddons 免费

快乐插件专业版

结论

如今,创建搜索结果页面已不再是奢侈之举,而是提升用户体验的必需品。它可以帮助您维护网站的吸引力和品牌价值。如果您的网站主要用于电子商务产品、联盟营销和博客,那么没有搜索结果页面就永远不够。

希望通过遵循上述教程,您可以在 Elementor 网站上创建出色的搜索结果页面。但是,不要忘记针对平板电脑和移动设备优化搜索小部件,以便所有类型的人都可以使用此元素。




如何使用或不使用插件克隆 WordPress 网站

如果您是一名专业的网站开发人员,需要经常创建和维护大量网站,那么克隆 WordPress 网站云的能力将改变游戏规则。因为这可以让您高效地复制性能良好的网站,保持一致性,同时节省时间和精力。

然而,我们的经验表明,克隆网站对于许多用户来说都是令人畏惧和害怕的,尤其是那些不懂技术的用户。但如今,有许多简单的方法,即使是非技术用户也可以克隆他们的 WordPress 网站而不会犯任何错误。

在本文中,我们将向您展示如何使用和不使用插件克隆 WordPress 网站的多种方法。此外,如果您想将网站的精确副本复制到不同的域,我们将在最后向您展示该过程。让我们开始吧!

目录

什么是克隆网站

克隆网站是在不同域名中创建网站精确副本的过程。它复制整体结构、设计、内容和功能以创建与原始网站完全相同的版本。您可以手动或使用不同的插件克隆网站。

未经许可克隆他人网站可能会违反版权法并受到法律处罚。谷歌和其他搜索引擎一旦发现此类网站,就可能将其列入黑名单。

克隆与复制网站

尽管克隆和复制看起来密切相关,但两者还是有细微的差别。请在下表中快速查看。

话题 克隆网站 复制网站
定义 创建正在运行的网站的副本或精确版本。 复制正在运行的网站的部分或全部内容。
客观的 模仿设计和功能。 通过修改来重复使用部分或全部内容。
合法的 大部分都是非法的,违反了知识产权法和版权法。 如果在发布之前修改内容则可能是违法的。

为什么您可能需要克隆您的网站

为什么您可能需要克隆您的网站

如果未经许可就克隆网站,则属于非法行为。但如果在自己的网站上克隆网站,则没有问题。人们经常出于多种原因克隆自己的网站。让我们了解一下为什么将来您可能想要克隆自己的网站。

1. 创建备份副本

如果网站崩溃,克隆网站可以帮助您快速恢复原始网站。虽然网上有许多备份插件,但克隆可以帮助您在新位置保留网站的运行副本,包括整个数据库和网络内容。

2. 测试新特性、设计和功能

在将新应用程序安装到原始网站之前,您可能需要检查它在网络环境中的反应。克隆的网站将允许您测试应用程序是否存在最终可能造成危害的错误或兼容性问题。

3.分析原网站代码及框架

如果您有一个无头 WordPress 网站,则必须定期检查其前端代码和框架。通过识别技术问题及其解决方法,这将避免您的网站出现任何潜在的停机。

4. 创建暂存环境

您可以将克隆的网站用作暂存环境。如果您是主题或插件开发人员,克隆的网站将允许您在将更改和更新发布到市场之前在暂存平台上测试它们。

5.迁移到新的托管服务器

在将网站迁移到新服务器之前,您可以先将克隆版本托管在那里,以检查其支持、性能和其他问题。如果对他们的服务感到满意,您最终可以决定将所有 Web 内容和数据库迁移到那里。

如何克隆 WordPress 网站:分步指南

您可以使用多种方法克隆 WordPress 网站。其中最流行的方法是手动、使用插件从 Softaculous 应用安装程序克隆。以下是网站的前端视图,我们将逐一使用所有这些方法克隆该网站。让我们开始吧!

如何克隆 WordPress 网站

方法一:如何在不使用插件的情况下克隆 WordPress 网站

在开始克隆 WordPress 网站之前,您必须准备好一些先决条件。它们是:

  • 域名/子域名
  • 托管服务器

您可以将克隆的网站托管在不同的服务器上,也可以托管在已托管原始网站的同一台服务器上。我们将使用子域名来解释此方法。

步骤 01:创建子域名

登录您的cPanel。转到“域”部分。单击其中的“域”选项。

注意:根据 cPanel 主题,您可能会或可能不会在域部分中获得子域选项。下面的 cPanel 使用 Jupiter 主题,该主题不会在主页上显示子域选项。但其他主题(如 paper_lantern)会显示它。

登录 cPanel 创建子域名

单击“创建新域名”按钮。它将带您进入一个新页面,并提供您可以输入子域名的字段。

在第一个字段中输入您的子域名。根字段将自动采用它。最后按“提交”按钮。

注意:子域名的写法是首字母+点+你的域名。例如,hmaccessories.com是原域名,test.hmaccessories.com是子域名。你可以添加任何首字母。

进入 cPanel 主页。点击文件管理器。访问您创建的子域名目录文件。

您将看到它 ( test.hmaccessories.com ) 完全是空的。我们将从原始域的目录(public_html)复制所有内容。

步骤 02:将文件从原始域目录复制到子域

转到public_html。点击“设置”

屏幕上会出现一个弹出窗口。勾选“显示隐藏文件(点文件)”旁边的复选框并保存

它将使所有隐藏文件在列表中可见。

在 cPanel 目录中显示隐藏文件

使用键盘+鼠标快捷键选择列表中的所有文件。单击复制按钮。

将打开一个新的弹出窗口。输入子域目录文件的名称。

然后点击“复制文件”按钮。它将复制并保存所有这些文件到您的子域目录文件夹中。

复制 Public_html 中的所有文件并粘贴到您的克隆网站上

***特别提示:这篇文章向您展示了如何在同一台托管服务器上克隆网站。但是,如果您想在不同的服务器上克隆它,则必须下载并上传这些文件到您的托管服务器。下载过程如下所述。

转到public_html。再次选择文件。点击“压缩”按钮。

选择GZiped Tar Archive选项。单击“压缩文件”按钮。

从原始网站目录下载文件以在不同的服务器上克隆网站

您将看到文件已压缩。您必须下载 FTP,将其连接到此服务器,通过 FTP 将压缩文件发送到您的新服务器,然后在那里提取文件。希望您能自己完成。探索最佳 FTP 客户端

压缩文件以供下载并在不同的服务器上克隆网站

步骤 03:为克隆站点创建数据库

导航至cPanel > MySQL 数据库。在创建新数据库字段中输入您的克隆网站名称。

最后点击“创建数据库”按钮。您的新数据库将被创建。

但新数据库将完全为空。您需要从旧数据库复制文件并将其粘贴到新数据库中。

导航到cPanel > phpMyAdmin

进入 phpMyAdmin 从旧数据库复制文件

首先,点击新数据库(test.hmaccessories.com)。你会看到它是完全空的。

转到旧数据库并单击顶部的导出按钮。您将进入一个新页面。

点击格式部分下的“Go”按钮。数据库文件将被下载。

***特别提示:如果你的数据库很大,并且你希望在下载时压缩它们-

在导出方法下选择自定义。从压缩选项中选择gzip 。

向下滚动页面到末尾并点击“Go”按钮。

进入您克隆网站的数据库。点击导入按钮。点击选择文件上传您的旧数据库。

向下滚动页面并点击末尾的“前往”按钮。克隆网站的数据库将填充旧数据库的文件。

将旧数据库导入到克隆网站

步骤04:编辑wp-config.php文件

导航到cPanel > 文件管理器 > 您的子域名。选择wp-config.php

点击顶部的编辑按钮。

编辑 WP 配置文件

向下滚动页面一点。在DB_NAMEDB_USER旁边设置您克隆的网站名称。

您也可以从这里更改登录密码。

在 wp-config.php 文件中编辑数据库名称、用户名和密码

步骤 05:将新用户添加到数据库

转到cPanel > MySQL 数据库。您也可以从这里设置或更改用户密码。向下滚动到将用户添加到数据库部分。

选择您的数据库并单击添加按钮。勾选所有权限旁边的复选框。单击最后的进行更改按钮。

步骤 06:向克隆站点添加 DNS 记录

如果不添加 DNS 记录,您的克隆网站可能无法上线。此过程很简单。

导航至cPanel > 域 > 区域编辑器。单击克隆站点旁边的+ 记录按钮。

添加名称和 IP 地址。最后点击“添加 A 记录”按钮。

添加 DNS 记录

预览

现在,从前端预览克隆的网站。您将看到它运行完美。

从前端预览关闭的网站

方法二:如何使用插件克隆 WordPress 网站

如果您不想经历手动过程的所有麻烦,您可以使用插件克隆您的 WordPress 网站。有许多在线插件可以帮助您轻松完成此操作。一些最常用的插件是 FastDup、WPVivid、Updraft Plus、Duplicator 和 ManageWP。

我们将使用 WPVivid 插件(一种流行的备份插件)来解释该过程。选择备份插件背后的逻辑是,克隆任何网站的基本步骤与备份网站相同。

如果您没有额外的可用域名,并且想要将原始网站克隆到本地网站,则此方法最适合您。让我们进入以下步骤。

步骤01:安装并激活WPVivid插件

导航到插件 > 添加新插件。在搜索框中输入WPVivid 。

您将获得上面的插件。安装激活它。

安装并激活 WPVivid 插件

步骤 02:备份您的网站并下载备份文件

从管理菜单栏转到WPvivid Backup选项。您将在插件仪表板上看到几个选项。

我们建议您选择数据库+文件并将备份保存到本地。最后点击立即备份按钮。

它将创建您原始网站的备份。

使用 WPVivid 插件备份您的网站

向下滚动页面一点。您将获得备份文件。单击行上的下载按钮。

它将使您的文件准备好以 zip 文件的形式下载。再次单击下载选项,将开始下载您的备份文件。

步骤03:将备份文件上传到新网站

转到新网站的仪表板。确保 WPVivid 插件也已安装在那里。向下滚动一点。您将看到上传选项。

点击选择文件按钮,添加刚刚下载的文件。最后,点击下方的上传按钮。

下载的文件将会上传至新的网站。

使用 WPVivid 插件上传网站备份以创建克隆网站

上传备份文件后,您需要恢复它们。在“备份”选项卡下,您将看到“恢复”选项。单击它。

之后,您将看到另一个 “恢复” 按钮。再次点击它。该过程将需要几分钟才能完成。

步骤 04:登录到您的克隆网站

大多数人都会犯一个错误。他们使用与新网站相同的用户名和密码但由于您已将另一个网站的文件和数据库上传到该网站,因此其用户名和密码将与您克隆的网站(原始网站)相同。

输入原网站的用户名和密码,点击登录按钮。

转到前端。你会看到网站运行正常。

登录到您的克隆网站

网上还有许多其他插件可用于克隆您的 WordPress 网站。下面列出了一些流行的 WordPress 插件,您可以尝试这些插件作为 WPVivid 插件的替代品。

  • Migrate Guru:免费迁移和克隆 WordPress
  • 一体化 Wp 迁移
  • 博客价值
  • 复印机

方法三:如何从 Softaculous 克隆 WordPress 网站

如今,几乎每个网站托管服务器(无论大小)都向其用户提供免费的 cPanel 访问权限。每个 cPanel 上都会有一个 Softaculous 选项,可让您克隆原始网站。但使用此方法,您无法在其他托管服务器上克隆您的网站。

您必须在已托管网站的同一台服务器上克隆所需网站。在开始此方法之前,您还必须完成一些先决条件。

先决条件

  • 确保您的 cPanel 上添加了新域名或子域名已准备就绪。
  • 如果您希望域名使用 HTTPS 协议,请安装 SSL 证书。

一切准备就绪后,请开始按照以下步骤操作。

步骤 01:从 cPanel 转到 Softaculous

登录您的cPanel。导航至软件 > Softaculous 的 WordPress Manager

从 cPanel 转到 Softaculous

步骤 02:安装克隆的网站

您将获得添加到此 cPanel 的所有域名的列表。由于此 cPanel 上只有一个域名,因此您可以看到列表很短。单击箭头图标。

向下滚动一点,点击“克隆”按钮。您将进入一个新页面。选择您要克隆此原始网站的域名。

最后,点击克隆安装

步骤 03:登录您的网站并预览

按照方法二的说明登录克隆网站,进入前端预览,一切正常。

这些都是创建原始网站克隆版本的最佳三种方法。

加分点:如何将页面从一个 WordPress 网站复制到另一个网站

HappyAddons 用于跨域设计复制粘贴

您是否曾梦想过无需编写任何代码即可将相同的网页设计复制粘贴到多个域名?设计一个全新的网站总是耗时且需要付出很多努力。因此,如果您已经有了一个漂亮的网页设计,最好将其复制粘贴到其他域名并自定义某些区域以使其看起来独一无二。

如果您的网站是使用 Elementor 设计的,您可以通过 HappyAddons 的跨域复制粘贴功能在您的网站上启用此功能。

HappyAddons 实际上是 Elementor 插件的一个附加组件。它附带许多附加功能和小部件,可增强您使用 Elementor 构建的网站。跨域复制粘贴是此附加组件的高级专业功能。

跨域复制粘贴功能的工作原理

确保您的网站是使用 Elementor 设计的。接下来,按照步骤操作并探索下面显示的来源。

步骤01:在您的网站上安装并激活以下插件。

步骤 02:将小部件或部分从一个域复制粘贴到另一个域

使用 Elementor Canvas 打开所需网站的网页。单击六点图标选择部分,或右键单击选择列。

点击弹出菜单列表中的“X Copy Section” 。

跨域复制粘贴特定网页部分

打开新域名网站的页面。转到要粘贴设计元素的部分。

单击鼠标右键。点击选项X Paste Live Paste

粘贴复制的页面部分

同样,您可以复制粘贴特定的小部件和列。将光标放在小部件或列上,然后右键单击鼠标。点击X 复制小部件X 复制列。按照上述指南将其粘贴到新域网页上。

步骤 03:将整个网页从一个域复制粘贴到另一个域

打开要复制的页面。将光标放在页面的任意位置,然后单击鼠标右键。

点击X 复制所有内容选项。

将整个网页从一个域名复制粘贴到另一个域名

转到您的其他域并使用 Elementor Canvas 打开一个页面。右键单击鼠标。

点击列表中的X Paste Live Paste选项。几秒钟后,整个页面就会出现在屏幕上。

现在,您可以对其进行稍微或更多的自定义,以赋予它独特的外观。

将复制的网页粘贴到新域名

请观看下面附加的 YouTube 视频以了解更多解释。

https://www.youtube.com/embed/eEpuWG8pTbg?feature=oembed

因此,您可以轻松地将相同的网页设计复制并粘贴到任意数量的网站上。此功能对网页设计和开发机构非常有益。

关于如何克隆 WordPress 网站的常见问题解答

希望您对上述方法感到满意。但除了这些教程方法之外,您可能仍会有一些疑问。因此,我们整理了一份网上常见的一些基本问题清单,并在本节中进行了解答。克隆网站合法吗?

如果您克隆网站是为了测试和非商业目的,则不会有法律问题。但如果您计划将其用于货币化,则克隆的网站可能会侵犯原始网站的 IP、商标和版权。我可以下载整个网站吗?其他人可以在未经我的同意的情况下克隆我的网站吗?如何检查您的网站是否已被克隆?如何保护您的网站不被克隆?

关于如何克隆 WordPress 网站的最后几句话

如今,克隆网站已不再是一项艰巨的任务。虽然手动克隆方法有点复杂,但其他方法相对容易一些。无论您是想克隆网站进行测试、开发还是练习其他技能,都可以使用本文中描述的任何方法。

如果您对 cPanel 有深入的了解,第一种方法是最好的。但是,如果您是新手或半高级用户,其他两种方法会更好。您选择的方法应取决于您的特定需求和偏好。

但请记住,在进行任何重大更改之前,一定要保留备份。如果发生意外,此备份将帮助您尽快恢复网站。




C#中使用 record 的好处 因为好用所以推荐!

文章来源:博客园

文章作者:万雅虎

文章地址:https://www.cnblogs.com/vipwan/p/18325508

一晃距C# 9发布已经4年了,对于record关键字想必大家都不陌生了,不过呢发现还是有很多同学不屑于使用这个语法糖,确实,本质上 record 就是 class 的封装,能用 record 书写的类,那100%都是可以自己手撸出来的,但是呢有没有考虑 别人可能一分钟写好的代码你可能会需要数分钟才能完成.因此为了能有更多时间 摸鱼 ,强烈推荐不屑一顾的同学也能用起来!

下面我简略聊一聊 record 的好处和最佳场景:

  1. 简化语法

我们只需要一行代码就可以定义完成,这个是最直观节省编码的方式,我们不需要编写一堆枯燥的get;set; 也不需要编写构造函数等样板代码:

public record Person(string FirstName, string LastName);

那么有同学会有疑问,如果Person有很多的属性咋整,不就意味着主构造函数会很冗长,其实呢,这个和封装传参的方式是一样的,我们可以把同质的属性封装成其他的record或者class,比如:

public record ExtraInfomation(string Address,string Email,int Age);
public record Person(string FirstName, string LastName, ExtraInfomation ExtraInfo);
  1. 自动生成一些对我们有用的成员函数.
  • 构造函数:根据定义的属性自动生成构造函数。
  • 属性:自动生成只读属性。
  • Deconstruct 方法:用于解构记录对象,对于习惯写TS的小伙伴相当友好。
  • Equals 和 GetHashCode 方法:基于属性值的相等性比较。
  • ToString 方法:提供友好的字符串表示,对于调试输出特别友好。
  1. 基于值的相等性语法.

我们很多时候有这种需求就是比较一个类的所有属性来判断逻辑.如果使用 record 的话 我们只需要==或者Equals就能判断,

  1. 非破坏性复制值

对于一个 class 的浅表复制,我们可能需要实现ICloneable,亦或者 new 一个对象逐个属性赋值,当然还有其他的方法,但是呢肯定是没有 record 来的这么简单直接.我们仅需要一个with关键字就干完了

public record Person(string FirstName, string LastName, int Age);
var person1 = new Person("vip", "wan", 18);
var person2 = person1 with { Age = 30 };
Console.WriteLine(person1); // 输出: Person { FirstName = vip, LastName = wan, Age = 18 }
Console.WriteLine(person2); // 输出: Person { FirstName = vip, LastName = wan, Age = 30 }

在单元测试中的场景:

public readonly record struct RegexMatch(string Raw, string Act);

[Theory]
[ClassData(typeof(AHrefTestData))]
public void Test_Regex_A_Href(RegexMatch rm)
{
    //获取a标签的href属性的表达式
    var regex = new Regex(@"]+href=(['""])(?.*?)1[^>]*>", RegexOptions.IgnoreCase);
    var match = regex.Match(rm.Raw);
    Assert.True(match.Success);
    Assert.Equal(rm.Act, match.Groups["href"].Value);
}

public class AHrefTestData : TheoryDataRegexMatch>
{
    public AHrefTestData()
    {
        var rm = new RegexMatch("", "http://www.baidu.com");
        Add(rm);
        //因为期待的结果都是一样的,所以可以直接使用with语法节省编码量
        Add(rm with { Raw = "" });
        Add(rm with { Raw = "" });
        Add(rm with { Raw = "" });
    }
}
  1. 解构的支持

record 类型自动生成 Deconstruct 方法,允许你轻松地解构 record 对象,对于全栈的同学书写就是手到擒来!

var person = new Person("vip", "wan", 18);
var (firstName, lastName, age) = person;
Console.WriteLine(firstName); // 输出: vip
Console.WriteLine(lastName);  // 输出: wan
Console.WriteLine(age);       // 输出: 18
  1. 结合模式匹配

record 类型与模式匹配功能很好地集成在一起,使得在模式匹配中使用 record 对象更加方便。

public record Person(string UserName, int Age);
public string GetPersonInfo(Person person) => person switch
{
    { Age: 18 } => "Minor",
    { Age: >= 18 } => "Adult",
    _ => "Unknown"
};
  1. 填充既有类

嗯当前 C# 语言是真的突飞猛进,年底就要发布C# 13了,小伙伴们都直呼学不动了!,当然也有同学肯定也尝鲜了主构造函数了吧, 如果想要对主构造函数进一步了解可以 点击链接 对于注入的服务又能少撸不少的代码!

那么既然 class 都有了主构造函数,是不是意味着 record 就失去意义了呢?!,嗯?!你忘了上面的那些糖的甜度了吗?

因此我们如果需要对既有的 class 支持到 record 的特性我们只需要在class前加上 record 即可.

public record class User {
  public string UserName{ get; set;}
  public int Age { get; set;}
}
var user1 = new User { UserName = "vipwan" , Age = 18};
var user2 = user1 with { };
var user3 = user1 with { Age = 30 };
user1 == user2 // true;
user3.ToString() // "User { Name = vipwan, Age = 30 }"
  1. C# 10 提供的record struct,readonly record struct支持:

默认情况下编译器将record等价于record class,record class由于是基于class的封装因此完整的继承了class的多态性等特征,两者复制比较 编译器内部实现代码是不同的,struct 的性能会稍好(值类型和引用类型的主要区别),因此MS在 C# 10中带来了(readonly) record struct的支持;

对于readonly record structrecord struct的区别:

  • record struct:默认不可变,但可以包含可变字段和属性,适用于需要一定可变性的值类型数据结构。
  • readonly record struct:由于其完全不可变性,编译器可以进行更多的优化,例如避免不必要的复制,从而提高性能

对于代码的区别请看:

//本身是class所以完整的支持继承和多态
public abstract record PersonBase(string FirstName, string LastName);

public record Person(string FirstName, string LastName, string Address) : PersonBase(FirstName, LastName)
{
    public int? Age { get; set; }
}
//由于PersonStruct本身是struct因此不能被继承
public record struct PersonStruct(string FirstName, string LastName)
{
    public int? Age { get; set; }
}
//Age只能只读或者init;因此不能设置为:public int? Age { get; set; }
public readonly record struct PersonReadonlyStruct(string FirstName, string LastName)
{
    public int? Age { get; init; }
}

对于如何选择总结一句:

struct 极致性能, class 包容性强,对于大多数情况下 (readonly) record struct 够用;对于包容免除后顾之忧,优先选择 record class !

总结

使用 record 类型的主要好处包括简洁的语法、自动生成的成员、基于值的相等性、非破坏性复制、解构支持、继承支持和与模式匹配的良好集成。这些特性使得 record 类型非常适合用于不可变数据对象(DTO,VO等),提高了代码的可读性可维护性开发效率




如何在 Elementor 中创建图像比较滑块

如今,任何网页设计的成功很大程度上取决于它如何有效地以视觉方式向用户传达信息和想法。图像比较滑块是一个强大的概念,可以将您网站的视觉叙事能力提升到一个新的水平。您可以使用 WordPress 工具轻松制作这些滑块。

Elementor 可以在这方面为您提供帮助。这款功能强大的页面构建器插件使您无需任何编码即可在您的网站上创建令人惊叹且引人入胜的图像比较滑块。在这篇博文中,我们将介绍一个详细的教程,解释如何在 Elementor 中创建图像比较滑块。

在此之前,我们将简要讨论什么是图像比较滑块以及它的一些特殊用例。

什么是图像比较滑块?

图片对比滑块是一种网页元素,它允许用户和访客并排查看两张图片,并用分隔线进行比较。您可以通过来回滑动分隔线来查看效果。此网页功能/元素可让您直观地展示任何产品或信息的前后场景,突出它们的差异。

图像比较滑块的一些特殊用例

下面,我们列出了几种特殊用例,其中图像比较滑块可以增强您的视觉叙事。快速浏览一下它们以获得灵感。

  • 前后视觉对比

这在时尚、健身、美容、设计、家居装修等行业特别有用,您可以在这些行业展示产品或服务带来的转变。

  • 精彩照片编辑

如果您是摄影师或平面设计师,您可以通过比较编辑后和未编辑的照片来展示您的编辑技巧。

  • 治疗和整容的效果

此功能用于美容行业,显示面部和皮肤护理、理发、化妆和使用的化妆品的结果。

  • 解释功能增强

软件开发人员可以使用此功能来演示对任何软件、Web 应用程序、主题或移动应用程序的视觉增强所做的更改。

  • 显示历史变更

在建筑领域,你可以直观地看到城市发展后会有什么变化。此外,你还可以展示你的周围环境随着时间的推移发生了怎样的变化。

如何在 Elementor 中创建图像比较滑块:分步指南

Elementor 在市场上非常受欢迎,拥有超过 700 万活跃用户,并且还在不断增加。如果您曾经梦想过在 WordPress 上设计您的网站而无需任何手动编码,那么您一定会爱上这个页面构建器,因为它功能丰富且用户友好。

但是,Elementor 本身没有图像比较工具或功能。不过不用担心!Elementor 的一款功能强大的插件 HappyAddons 有一个名为“图像比较”的小部件,您可以像喝自己喜欢的果汁一样使用它。让我们开始教程吧。

步骤 01:在您的网站上安装 Elementor 和 HappyAddons

首先,请确保您的网站上安装并激活了以下插件。

您不需要高级版本即可使用此功能,因为 HappyAddons 免费提供该功能。

在您的网站上安装 Elementor 和 HappyAddons

步骤 02:使用 Elementor 打开帖子/页面

现在,使用 Elementor 打开您想要创建图像比较部分的帖子/页面。Elementor Canvas 将在您的屏幕上打开。

使用 Elementor 打开帖子或页面

步骤 03:在画布上为图像比较小部件创建一个部分

如果您已经使用过 Elementor,那么您知道如何创建新部分来添加小部件。我们仍在向新用户展示它。

单击Elementor Canvas 上的加号 (+) 图标

在 Elementor 画布上创建一个新部分

接下来,根据图像比较部分的宽度选择列结构。

选择列结构

您可以看到画布上已添加一个新部分。我们将在此列中添加并创建一个图像比较部分。

添加了新部分

步骤 04:将图像比较小部件拖放到列中

在 Elementor 画布左侧的 Elementor 面板顶部的搜索框中输入“Image Compare” 。

找到“图像比较”小工具

现在,将“图像比较”小部件拖放您刚刚创建的部分。

将“图像比较”小部件拖放到 Elementor Canvas

您可以看到图像比较小部件已添加到画布中。接下来,我们将在下一步中向小部件添加内容。

图像比较小部件已添加到部分

注意: 如果您遇到 500 内部服务器错误,您可以按照本指南了解 如何修复 500 内部服务器错误

步骤 05:将图像添加到小部件

您需要向小部件添加两张图片,其中一个可以是先前的或原始版本,另一个是编辑后的版本。

进入内容选项卡。在选项卡下方,您会看到图像部分。您可以添加两张图片,一张用于之前,另一张用于之后。立即添加图片。

向“图像比较”小部件添加图像选项

我们在小部件中添加了两张图片。一张质量稍差,另一张质量一流。

两幅图像已添加到“图像比较”微件

将光标悬停在小部件上。标签将可见。您可以使用下图中指向的选项更改标签名称。如果您愿意,可以这样做。

向图像比较小部件添加标签

步骤 06:自定义图像比较小部件的设置

展开“内容”选项卡下的“设置”部分。您将看到四个选项:可见性比率、方向、隐藏覆盖和移动手柄。您可以使用它们执行以下操作。

  • 可见度比率——通过增加或减少可见度比率,您可以重新定位小部件图像之间的分隔线。
  • 方向 –显示分隔线,水平还是垂直。
  • 隐藏覆盖 –显示或隐藏覆盖效果。
  • 移动手柄——您可以通过此选项控制用户如何探索前后图像。
打开图像比较小部件的设置

步骤 07:对图像比较小部件进行样式化

转到“图像比较”小部件的“样式”选项卡。您将获得自定义手柄和标签元素的选项。

转到“图像比较”按钮的“样式”选项卡

通过“手柄”选项,您可以自定义屏幕上两个图像之间的手柄外观。您可以在此处自定义手柄栏、手柄箭头、框高度、边框类型、边框宽度边框半径

自定义 Handle 元素

接下来,展开标签部分。在此部分中,您可以自定义 标签填充、位置、边框类型、边框半径、颜色、背景颜色、框阴影 和 排版

自定义“图像比较”微件的标签

步骤 08:预览图像比较小部件

进入页面的预览模式。左右拖动小部件的手柄以查看其是否有效。在下面的视频片段中,您可以看到我们的小部件运行良好。

因此,您可以像专业人士一样在 Elementor 网站上创建图像比较滑块。探索本指南,了解如何在 Elementor 中添加工具提示,将您网站的导航提升到新的高度。

Elementor 中图像比较滑块的常见问题解答

到目前为止,我们已经描述了今天讨论的教程和理论部分。现在我们将回答人们在网上经常问的与今天的主题相关的一些问题。图像比较滑块中可以使用哪些类型的图像?图像比较小部件是否适合移动设备?图像比较小部件是否可以提高用户参与度?是否有可用于创建图像比较滑块的免费插件?图像比较滑块对 SEO 有什么好处吗?

關閉!

我们希望您喜欢本教程。使用此小部件,您现在可以有效地展示产品的前后场景或任何类型的故事和发展。但您必须牢记一些最佳实践,以确保最佳性能和用户体验。

首先,始终使用尺寸合适且经过优化的高质量图像。上传前请压缩图像,以免影响网站的加载速度。最后,在发布小部件之前,请检查其结构是否完美适合移动设备和平板电脑。




WordPress中将指定类别的页面从Elastic search中排除的方法

WordPress插件ElasticPress只提供了不索引特定类型PostType的帖子的方法,如果我不想某个分类被索引(比如Post类型下的分类zjdy),如何做到。这里使用SQL的方法,操作前请务必要备份数据库及服务器。

INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
SELECT p.ID, 'ep_exclude_from_search', 1
FROM wp_posts p
INNER JOIN wp_term_relationships tr ON p.ID = tr.object_id
INNER JOIN wp_term_taxonomy tt ON tr.term_taxonomy_id = tt.term_taxonomy_id
INNER JOIN wp_terms t ON tt.term_id = t.term_id
WHERE t.slug = 'zjdy';

SQL语句解析

  • INSERT INTO wp_postmeta: 插入数据到wp_postmeta表中。
  • (post_id, meta_key, meta_value): 指定插入的列名。
  • SELECT p.ID, ‘ep_exclude_from_search’, 1: 从之前的查询结果中获取post_id,并设置固定的meta_key和meta_value。
  • FROM … WHERE …: 后面的部分与之前的查询相同,用于获取”zjdy”类别下的所有帖子ID。

执行注意事项

  • 备份数据库: 在执行任何修改数据库的操作之前,务必备份数据库,以防意外发生。
  • 直接执行SQL语句: 可以使用phpMyAdmin等数据库管理工具直接执行上述SQL语句。
  • 插件或函数: 如果不熟悉SQL,可以使用WordPress的插件或函数来实现相同的功能。例如,可以使用WP_Query类获取帖子,然后循环添加meta数据。

注意事项

  • meta_key: “ep_exclude_from_search”是自定义的meta_key,不同的插件或主题可能使用不同的key。请根据你的实际情况进行调整。
  • meta_value: “1”通常表示排除,”0″表示包含。具体含义可能因插件而异。
  • 性能: 如果你的网站有大量帖子,执行上述SQL语句可能需要较长时间。可以考虑分批处理或者优化索引来提高效率。

其他方式

  • 使用插件: 很多SEO插件都提供了批量设置元数据的功能,可以直接通过插件界面来实现。
  • 自定义函数: 可以编写自定义函数来循环处理帖子,并添加meta数据。

总结

通过上述SQL语句,可以快速地将指定类别下的所有帖子从搜索结果中排除。但是,在执行之前,务必仔细检查SQL语句,并备份数据库,以确保数据的安全。

建议:

  • 了解ElasticPress配置: 如果您使用ElasticPress插件,可能需要在Elasticsearch中重新索引数据,以使更改生效。
  • 测试: 在生产环境执行之前,建议在测试环境中进行测试,以确保一切正常。

如果您还有其他问题,欢迎随时提出。

温馨提示:

  • 数据库操作风险较大,请谨慎操作。
  • 如果对SQL不熟悉,建议寻求专业人士的帮助。



ASP.NET Core 3.0指南 完整版PDF 电子书 下载

.NET Core 是开放源代码通用开发平台,由 Microsoft 和 .NET 社区在 GitHub 上共同维护。 它跨平台(支持Windows、macOS 和 Linux),并且可用于生成设备、云和 IoT 应用程序。详细介绍了解 .NET Core,包括它的特征、支持的语言和框架以及关键 API。

最新版是 .NET Core 3.0。 新功能包括通过 Windows Presentation Foundation (WPF) 和 Windows 窗体提供的Windows 桌面支持、使用 Blazor 进行全栈 C# Web 开发、SignalR 和 Azure SignalR 服务的新增强功能、C# 8 的新增 C# 语言功能等等。




C#/.NET/.NET Core推荐学习书籍(已分类)

思维导航

前言

古人云:“书中自有黄金屋,书中自有颜如玉”,说明了书籍的重要性。作为程序员,我们需要不断学习以提升自己的核心竞争力。以下是一些优秀的C#/.NET/.NET Core相关学习书籍,值得.NET开发者们学习和专研。书籍已分类,欢迎大家PR分享自己觉得不错的C#/.NET/.NET Core宝藏书籍

GitHub收录地址:https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/CsharpRecommendedBooks.md👉

DotNetGuide技术社区交流群

  • DotNetGuide技术社区是一个面向.NET开发者的开源技术社区,旨在为开发者们提供全面的C#/.NET/.NET Core相关学习资料、技术分享和咨询、项目推荐、招聘资讯和解决问题的平台。
  • 在这个社区中,开发者们可以分享自己的技术文章、项目经验、遇到的疑难技术问题以及解决方案,并且还有机会结识志同道合的开发者。
  • 我们致力于构建一个积极向上、和谐友善的.NET技术交流平台,为广大.NET开发者带来更多的价值和成长机会。

欢迎加入DotNetGuide技术社区微信交流群👪

C#相关书籍

《CLR via C# 第4版框架设计》

《CLR via C#(第4版)》针对CLR和.NET Framework 4.5进行深入、全面的探讨,并结合实例介绍了如何利用它们进行设计、开发和调试。全书5部分共29章。第Ⅰ部分介绍CLR基础,第Ⅱ部分解释如何设计类型,第Ⅲ部分介绍基本类型,第Ⅳ部分以核心机制为主题,第Ⅴ部分重点介绍线程处理。 通过本书的阅读,读者可以掌握CLR和.NET Framework的精髓,轻松、高效地创建高性能应用程序。

《深入理解C#(第3版)》

本书是世界顶级技术专家“十年磨一剑”的经典之作,在C#和.NET领域享有盛誉。与其他泛泛介绍C#的书籍不同,本书深度探究C#的特性,并结合技术发展,引领读者深入C#的时空。作者从语言设计的动机出发,介绍支持这些特性的核心概念。作者将新的语言特性放在C#语言发展的背景之上,用极富实际意义的示例,向读者展示编写代码和设计解决方案的最佳方式。同时作者将多年的C#开发经验与读者分享,读者可咀其精华、免走弯路,使程序设计水平更上一层楼。 本书在第2版的基础上全面调整了C#语言的细节,改写了随着技术的发展已经不再适用的内容,并全面介绍了C# 5新增的大特性——异步,以及两个小特性,延续了读者期望的高标准。

《C#图解教程(第5版)》

本书是广受赞誉的《C# 图解教程》的最新版本。作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式、朴实简洁的文字,并辅以大量表格和代码示例,全面、直观地阐述了C# 语言的各种特性。新版本除了精心修订旧版内容外,还全面涵盖了C# 6.0 和C# 7.0 的新增特性,比如局部函数、throw 表达式、name of 和空条件运算符、using static 指令、异常过滤器,等等。通过本书,读者能够快速、深入地理解C#,为自己的编程生涯打下良好的基础。

《Learning hard C#学习笔记》

本书是一本面向C#初学者的实用教程,由浅入深地讲解了C#的基础语法和重要特性,分析了在开发中必须掌握的技术要领和经验心得。语言浅显易懂、轻松幽默,通过精心选择的实例和详尽的代码全面介绍了C#最具特色的关键知识点,有助于初学者迅速从一个C#开发的门外汉成长为全面掌握技术要领的开发人员。 本书适合C#和.NET初学者、Web开发工程师以及计算机专业的学生阅读。

《C#高级编程(第11版)》

C# 7内幕指南,包括高级新特性。
目前Visual Studio 2017提供了C# 7。发布为NuGet包的每个.NET Core部分都进行了更新。阅读这本专家级指南是经验丰富的程序员提高效率的更快捷方式。C# 7以更快的速度完成更多工作,没有人比Christian Nagel更适合传播在现实世界中极有价值的权威信息。本书论述清晰,内容完整详尽,为开发人员展示了如何将.NET引入非微软平台,如何操作这些平台上的工具,例如Docker、Gulp和NPM。
★为需要新工具的高级开发人员介绍了C# 7和.NET Core 2.0的扩展新特性
★揭示了Visual Studio 2017的新技巧和切合实际的提示,包括新的用户界面、新增的模板、编辑器的改进等
★论述了计划工作流的全新方式,使编码更快,诊断和调试更精确,测试更频繁,发布更自信
★为开发在Android、iOS、Windows、Linux、网络和云上运行的应用程序提供了循序渐进的指南
★掌握Visual Studio的高效率特性,以加速AI革新

《C#8.0和.NET Core 3.0高级编程》

在《C#8.0和.NET Core 3.0高级编程》中,专家级作家Mark J. Price提供了开始编写C#应用程序所需的一切技能,适用于所有主流操作系统。 《C#8.0和.NET Core 3.0高级编程》使用当前最流行的Visual Studio Code编辑器开展编程任务,对上一版内容进行了全面的更新和扩展,新增了两章专门介绍内容管理系统(CMS)以及如何使用ML.NET进行机器学习。 《C#8.0和.NET Core 3.0高级编程》包含C#编程的所有主题,可分为三大部分,第一大部分介绍C#基础知识,包括面向对象编程以及新的C#8.0特性,比如可空引用类型、简化的switch模式匹配以及默认的接口方法。第二大部分介绍.NETStandard APl,包括管理和查询数据、监视和改进性能以及使用文件系统、异步流、序列化和加密等。第三大部分介绍如何构建和部署跨平台的应用程序,例如使用ASP.NET Core构建Web应用程序和使用Xamarin.Forms构建移动应用程序。 《C#8.0和.NET Core 3.0高级编程》还介绍了构建Windows桌面应用程序的三种技术——Windows Forms.WPF(WindowsPresentation Foundation)和UWP(UniversalWindows Platform)。

《Visual C#从入门到精通(第9版)》

C#作为微软的旗舰编程语言,深受程序员喜爱,是编写高效应用程序的语言。Visual C# 2017提供了大量新功能,《Visual C#从入门到精通(第9版)》围绕语言的基础知识和这些新功能全面介绍了如何利用Visual Studio 2017和.NETFramework4.6.1编写C#应用程序。《Visual C#从入门到精通(第9版)》沿袭深受读者欢迎的Stepby Step风格,通过合理的练习引导读者逐步构建在Windows 10上运行的应用程序、访问SQL Server数据库以及开发多线程应用等。 全书共27章,结构清晰,叙述清楚。所有练习均在Visual Studio 2017简体中文版上进行过全面演练。无论是刚开始接触面向对象编程的新手,还是打算迁移到C#的C、C++或Java程序员,都可以从《Visual C#从入门到精通(第9版)》汲取到新的知识。迅速掌握C#编程技术。

《C#并发编程经典实例(第2版)》

本书全面讲解C#并发编程技术,侧重于.NET平台上较新、较实用的方法。新版内容全面更新,涉及异步编程基础、互操作、集合、常见场景及其处理技巧等,另外新增了关于异步流的章节。全书分为14章:第1章概览几种并发编程技术,包括异步编程、并行编程、响应式编程、数据流等;第2~6章对这些技术进行详细介绍;第7~13章深入探讨这些技术,内容包括测试技巧、互操作、取消、函数式面向对象编程、同步、调度等;第14章涉及并发编程中的一些常见场景,并配有对应的解决方案。全书共包含近90个配有源代码的实例,可用于各种应用程序的开发。

《C#敏捷开发实践》

本书共分为敏捷基础、编写SOLID代码和自适应实例三大部分,将理论与实践相结合,介绍了当前使用Microsoft .NET Framework进行C#编程的最佳实践,详尽探讨了C#开发人员如何应用Scrum等敏捷方案实现高质量、自适应的代码,并给出大量代码示例,是.NET中高级程序员进阶的实用指南。 本书的读者对象为有一定经验的.NET开发人员。

《Effective C#(第3版)》

在本书由世界知名的.NET专家Bill Wagner先生给出了50条建议,告诉你怎样充分利用C#6.0所具备的特性来编写健壮而高效的代码。这些建议反映了C#开发界的新进展,也令人体会到C#这门语言已经越来越成熟。除了提出许多种改善代码品质的新方式,例如怎样发挥泛型的优势之外,本书还针对LINQ给出了很多条建议。

《Effective C# 中文版改善C#程序的50种方法 第二版》

本书围绕一些关于C#和.NET的重要主题,包括C#语言元素、.NET资源管理、使用C#表达设计、创建二进制组件和使用框架等,讲述了最常见的50个问题的解决方案,为程序员提供了改善C#和.NET程序的方法。本书通过将每个条款构建在之前的条款之上,并合理地利用之前的条款,来让读者最大限度地学习书中的内容,为其在不同情况下使用最佳构造提供指导。

《图解数据结构–使用C#》

这是一本综合讲述数据结构及其算法的入门书,全书采用图文讲解的方式,力求读者易于学习和掌握。 全书从基本的数据结构概念开始讲起,包括数组结构、队列、堆栈、树形结构、排序、查找等;接着介绍常用的算法,包括分治法、递归法、贪心法、动态规划法、迭代法、枚举法、回溯法等,并为每个经典的算法都提供了C#程序设计语言编写的完整范例程序;*后在每章末尾都安排了大量的习题,这些题目包含各类考试的例题,希望读者能灵活地应用所学的各种知识。 本书图文并茂,叙述简洁、清晰,范例丰富,可操作性强,针对具有一定编程能力又想提高编程“深度”的非信息专业类人员或学生,是一本数据结构普及型的教科书或自学参考书。

《C# 8.0核心技术指南》

本书全方位地介绍了 C# 的语言特性。在内容上,它兼顾了各种类型的读者。对于初学者,本书不论是介绍基本的语法,还是介绍高级的语言特性,都采用了讲解和示例结合的方法。而对于经验丰富的读者,本书的每一章都详尽而系统,是的案头参考书。
本书在前一版的基础上进行了大量的修订工作。不但将既有的内容和范例全部迁移到 .NET Core 之上,对 C# 8.0 与 .NET Core 3.x 提供的新特性进行了详细的介绍,还在部分示例中专门对编写跨平台运行的程序的技巧或陷阱进行了说明。可以说,本书从内容上涵盖了目前 C# 与 .NET Core 全新正式发行版的内容。

.NET/.NET Core相关书籍

《ASP.NET Core微服务实战》

领会测试驱动、API 优先的开发理念 通过创建和消费后端服务(如数据库和队列)与其他服务交互 。
■构建依赖于外部数据源的微服务
■ 学习事件溯源(以事件为中心的持久化方法)
■ 使用 ASP.NET Core 开发适合部署在云环境的 Web 应用
■ 开发一个消费其他服务或被其他服务消费的微服务
■ 创建可接受外部配置的服务和应用
■ 探索用于保护ASP.NET Core 微服务和应用的方法

《.NET 微服务 – 体系结构电子书》

本指南介绍如何使用容器开发基于微服务的应用程序并对其进行管理。 本指南探讨使用 .NET 和 Docker 容器的体系结构设计和实现方法。 为了更加轻松地开始使用容器和微服务,本指南重点介绍一个容器化和基于微服务的参考应用程序(用户可获取该应用程序)。 可通过 eShopOnContainers GitHub 存储库获取该示例应用程序。
本指南主要在开发环境级别提供基础开发和体系结构指导,重点介绍以下两种技术:Docker 和 .NET。 我们的目标是为用户在应用程序设计时提供指导,使用户无需将重点放在其生产环境的基础结构(云端或本地)上。 用户可在创建生产就绪的应用程序时,稍后制定有关基础结构的决策。 因此,本指南不区分基础结构,更侧重于考虑开发环境。

《ASP.NET Core技术内幕与项目实战 : 基于DDD与前后端分离》

本书讲解.NET平台下的异步编程、LINQ、依赖注入、配置系统、日志等相关技术的原理与应用;深入且全面地介绍Entity Framework Core在项目中的应用场景,剖析Entity Framework Core的实现原理。本书在讲解使用ASP.NET Core进行Web API开发的同时,结合作者的实践经验介绍REST、前后端分离等编程理念在ASP.NET Core中的实现。此外,本书还会介绍领域驱动设计(DDD)的理念,并且通过来自项目开发一线的案例讲解DDD理念在项目中的技术落地方案。最后,本书通过真实的英语学习网站的项目案例讲解ASP.NET Core技术在项目中的应用。总体而言,本书不仅介绍技术的使用,而且讲解技术的底层原理;不仅介绍作者在项目开发一线的实践经验,而且讲解综合项目案例的具体实现。
本书可供具有一定编程基础的开发人员学习ASP.NET Core的使用方法,也可供具有一定经验的.NET开发人员了解.NET的内部原理和学习相关项目实战经验,还可作为大中专院校学生的ASP.NET Core教材。

《ASP.NET Core 5.0开发入门与实战》

这是一本从实战角度出发,分析讲解ASP.NET Core基本原理和实现方式,以求帮助广大读者能够快速掌握ASP.NET Core在企业级多端调用以及多平台部署的实践指导书。作者是.NET领域的布道者和技术专家,并多次荣获微软MVP称号。
本书以ASP.NET Core 5.0进行分析,不仅讲解了核心原理和理论知识,还通过实战案例的方式,进一步拓展ASP.NET Core在企业中的应用。更重要的是,本书所有代码均已开源,读者可以在对应下载资源中找到源码地址,进行下载和学习。此外,本书涉及的知识点,多以独立章节用实际案例的形式专门进行落地指导,相互之间不受影响,而从业务上又承上启下,读者可以根据自己的需要重点学习某一章节。
本书是一本项目开发案例方面的参考书,适合有基本编程知识,但还没有项目开发经验的软件开发初学者使用,尤其适合高校学生进行毕业设计、课题设计时作为参考。

《.NET高级调试》

《.NET高级调试》是一本介绍如何通过非托管调试器(包括WinDBG、NTSD和CDB等)来调试NET应用程序的书籍。本书内容主要包括:调试工具简介、CLR基础、基本调试任务、程序集加载器、托管堆与垃圾收集、同步、互用性以及一些高级主题,如事后调试、一些功能强大的调试工具和.NET 4.0中的新功能等。

《ASP.NET Core开发实战》

Microsoft MVP Dino Esposito教会你如何:
◆ 创建新项目并理解其结构
◆ 在ASP.NET Core中设置和使用熟悉的MVC应用程序模型
◆ 编写控制器类代码来控制请求处理的所有阶段
◆ 从控制器提供HTML,或者直接通过Razor页面提供HTML
◆ 掌握Razor语言,以快速定义HTML视图的布局
◆ 管理跨领域关注点,如全局配置数据、错误和异常处理、控制器类的设计以及依赖注入
◆ 使用用户身份验证和ASP.NET Core的基于策略的用户授权API来保护应用程序安全
◆ 设计高效的数据访问,并为读写数据选择合适的选项
◆ 构建ASP.NET Core Web API来返回JSON、XML或其他数据
◆ 使用数据绑定,以编程方式更新可视化组件
◆ 为iOS和Android构建对设备友好的Web视图
◆ 探讨全新的ASP.NET Core运行时环境和依赖注入(DI)基础设施

《ASP.NET Core 6框架揭秘》

《ASP.NET Core 6框架揭秘(上下册)》主要介绍 ASP.NET Core 框架的核心技术部分,即由一个服务器和若干中间件构建的管道。本书共分为 5 篇:“第 1 篇 初识编程(第 1 章)”列举一系列极简的实例为读者提供基本的编程体验,“第 2 篇 基础框架(第 2~13 章)”主要介绍了一系列支撑 ASP.NET Core 的基础框架,“第 3 篇 承载系统(第 14~17章)”主要介绍了 ASP.NET Core 应用的承载流程,“第 4 篇 服务器概述(第 18 章)”列举一系列常见的服务器类型并对它们进行了比较,“第 5 篇 中间件(第 19~30 章)”系统地介绍了一系列预定义的中间件。

《.net之美》

本书是.NET 程序员进阶修炼的必读之作,由拥有多年开发经验的资深.NET 技术专家对C# 和.NET 中实用的、关键的和难以理解的知识点进行了深入解析,旨在帮助读者在尽可能短的时间内以 尽可能低的学习成本去掌握那些最应该被掌握的知识。书中的每个知识点都辅之以精心设计的案例,易 于理解,实践性强。

《AOP in .NET》

.NET中的AOP引入了面向方面的编程,并提供了有关如何从该技术中获得最大实际利益的指南。本书的许多示例都集中于模块化非功能性需求,这些需求经常散布在整个面向对象的项目中。您将通过使用熟悉的基于C#的示例来欣赏它的简单介绍。这本书不需要任何AOP经验。读者应该知道C#或另一种OO语言。

《ASP.NET Core跨平台开发从入门到实战》

《ASP.NET Core跨平台开发从入门到实战》适合初学者及有.Net 基础的开发者,深入浅出地介绍了ASP.NET Core 基础及实战方面的知识,主要有.NET Core 的基础知识及安装、dotnet 命令、ASP.NET Core 开发工具操作及使用、ASP.NET Core 原理和组件介绍、ASP.NET Core MVC 框架学习、ASP.NET Core Web API 学习和扩展Web API 输出格式,以及.NETCore 单元测试,最后以一个完整的项目结尾,并讲解了项目的发布和部署。

《ASP.NET Core in Action,第二版》

《 ASP.NET Core in Action,第二版》通过ASP.NET Core打开了跨平台Web开发的世界。您将从.NET Core中的速成课程开始,立即切断ASP.NET和Windows之间的联系。然后,您将逐步构建令人惊叹的Web应用程序,系统地添加一些基本功能,例如登录,配置,依赖项注入和自定义组件。在此过程中,您将混入重要的过程步骤,例如测试,多平台部署和安全性。完全更新到版本5.0,此新版本完全涵盖了新功能,例如带有Razor Pages的服务器端应用程序以及新的ASP.NET Core托管范例。

《深入浅出 ASP.NET Core》

本书是一本系统地介绍ASP.NET Core、Entity Framework Core以及ASP.NET Core Identity框架技术的入门图书,旨在帮助读者循序渐进地了解和掌握ASP.NET Core。本书使用ASP.NET Core从零开始搭建一个实际的项目。从基本的控制台应用程序开始,介绍ASP.NET Core基本的启动流程,涵盖ASP.NET Core框架中各个技术的实际应用。同时,本书也会介绍一些ASP.NET Core的高级概念。在本书中,我们会开发一个学校管理系统,其中包含清晰的操作步骤和大量的实际代码,以帮助读者学以致用,将ASP.NET Core的知识运用到实际的项目开发当中,最后我们会将开发的项目部署到生产环境中。通过阅读本书,读者将掌握使用ASP.NET Core开发Web应用程序的方法,并能够在对新项目进行技术选型时做出战略决策。 本书适合有一定C# 编程经验和HTML、JavaScript基础,并对ASP.NET Core感兴趣的读者阅读,也可以作为高等院校相关专业的教学用书和培训学校的教材。

《ASP.NET 项目开发全程实录(第 4 版)》

本书以供求信息网、电子商务平台、小区物业内部管理网、图书馆管理系统、企业办公自动化管理系统、互动媒体学习社区、在线考试网、网上在线论坛、物流信息管理平台、博客管理系统、播客网、仿百度知道之明日知道12个实际项目开发程序为案例,从软件工程的角度出发,按照项目的开发顺序,系统、全面地介绍了程序开发流程。从开发背景、需求分析、系统功能分析、数据库分析、数据库建模、网站开发到网站的编译与发布,每一过程都作了详细的介绍。
本书案例涉及行业广泛,实用性非常强。通过本书的学习,读者可以了解各个行业的特点,能够针对某一行业进行软件开发,也可以通过光盘中提供的案例源代码和数据库进行二次开发,以减少开发系统所需要的时间。
本书光盘提供12个项目开发完整案例的同步教学视频,12个项目开发完整案例及其源程序,本书的服务网站www.mingribook.com还提供了内容丰富的素材库、题库、模块库、案例库和本书的答疑服务。
本书是一本项目开发案例方面的参考书,适合有基本编程知识但还没有项目开发经验的软件开发初学者使用,尤其适合高校在校生进行毕业设计、课题设计时做参考。

《.NET Core 底层入门》

本书讲解了 .NET Core公共语言运行时的底层实现,从介绍MSIL和x86汇编语言开始,到讲解异常、多线程、GC以及JIT编译器的实现原理与实现细节。本书包含了大量图表让读者可以更容易了解其中的内容,同时涉及到 .NET Core底层实现的部分还给出了对应的源代码链接,让读者可以参考源代码有更深入的理解。此外,本书还有相关提问用的仓库和QQ 群便于读者交流,详见序言。 本书主要面向有一年以上 .NET (C#)开发经验的开发者,其他程序语言的开发者也可以阅读本书来比较 .NET Core与其他语言的运行时之间有哪些共同点和不同点,本书的知识可以为读者在编写高性能应用或底层应用时提供有力的支持。

《ASP.NET Web API设计》

如何为浏览器和移动设备等多客户端设计和构建可演化Web API?本书以ASP.NET Web API框架为例,系统介绍了相关的理论和工具,让读者全面掌握设计和实现可演化Web API的技术。
本书主要面向有经验的.NET开发人员。不过,书中关于Web API基础理论和设计的内容同样适用于Java、Ruby、PHP和Node等开发者。
深入理解HTTP,以及API开发的概念和风格。ASP.NET Web API基础知识,包括该框架处理HTTP请求的生命周期。
以“问题跟踪”API为例,探讨用Collection+JSON实现超媒体支持。
采取BDD(行为驱动开发)方式开发ASP.NET Web API,实现和改进应用。
探索可响应变化的客户端技术,使客户端便于使用超媒体API。
全面介绍ASP.NET Web API的内部工作机制,包括安全性和可测试性。

《.NET框架设计:模式、配置、工具》

本书总结了框架设计的整体思路和经验,包含了常见应用框架设计的模式、框架灵活性的配置和框架工具的支持,有助于读者了解框架设计的核心思想,加深对框架设计的理解,快速掌握框架设计的技巧,并在研究其他框架时能够做到举一反三。
本书适用于应用层开发者、框架学习者和和对框架设计感兴趣的读者。

《Concurrency in .Net》

.NET中的并发性可以教您编写代码,以提供对性能敏感的应用程序所需的速度。本书以C#和F#中的示例为特色,指导您进行并发和并行设计,这些设计强调了理论和实践中的函数式编程。您将从并发的基础开始,并掌握必要的技术和设计实践,以优化在现代多处理器系统上运行的代码。

《.NET Core实战:手把手教你掌握380个精彩案例》

.NET Core实战:手把手教你掌握380个精彩案例通过380个独立且简单的实例全面介绍 了.NETCore的核心开发技术。全书分为三篇: 篇 基础知识( ~7章),内容包括开发环境与应用程 序项目管理、C#语言基础、面向对象编程、数学运算 与字符串处理、泛型与集合、LINQ与动态类型;第二 篇技术进阶(第8~13章),内容包括文件与I/O、序 列化、异步与并行、网络编程、反射与Composition、 加密算法;第三篇ASP.NET Core( 4~17章),内 容包括应用启动、依赖注入与中间件、MVC与Web API 、应用配置与数据库访问。 为了便于读者学习,本书提供了所有实例的配套 源代码,在开发环境中运行,能直观地看到每个实例 的运行效果。本书适合作为普通高校.NET Core技术相 关课程的教学用书,也可以作为相关培训机构的培训 教材,还可作为从事.NET Core技术开发的IT从业者的 参考用书。

《编写高性能的.NET代码》

本书详细介绍了如何编写高性能的.NET程序,在最大化托管代码性能的同时,还能保证.NET的特性优势。 本书循序渐进地深入.NET的各个部分,特别是底层的公共语言运行时(Common Language Runtime,CLR),了解CLR是如何完成内存管理、代码编译、并发处理等工作的。本书还详细介绍了.NET的架构,探讨了编程方式如何影响程序的整体性能,在全书中,还分享了发生在微软的一些趣闻轶事。本书的内容偏重于服务器程序,但几乎所有内容也同样适用于桌面端和移动端应用程序。 本书条理清楚,言简意赅,适合有一定.NET基础的读者和想要提高代码性能的C#程序员学习参考。

《框架设计指南:构建可复用.NET库的约定、惯例与模式(第3版)》

《框架设计指南:构建可复用.NET库的约定、惯例与模式(第3版)》从最基本的设计原则和准则出发,全方位介绍了设计框架的最佳实践,是微软工程师从.NET Framework开发伊始到现如今的.NET这二十来年间宝贵经验的总结。
与第2版发布时的2008年相比,今天的软件开发范式用翻天覆地来形容也不为过,容器化、云服务、跨平台、DevOps等,都对今天的软件开发者和框架设计者提出了更高的要求。本书对第2版的内容进行了全面的更新,以适应当下发展的潮流。
《框架设计指南:构建可复用.NET库的约定、惯例与模式(第3版)》虽然是面向.NET平台上的框架设计的,但对其他平台的框架设计同样具有非凡的借鉴价值。通过阅读本书,读者可以了解到如何设计出一个对使用者而言简单、易用且具有一致性的优秀框架。

《深入浅出:.NET框架设计与实现》

本书可供.NET开发人员和.NET初学者阅读与参考,也适合具备其他编程语言基础且想要学习.NET的开发人员阅读,还可为读者在工作及巩固基础时提供有力支持。
本书主要介绍.NET框架的核心部分,不仅阐述了框架的核心设计,还展示了实践代码和运行效果,同时根据不同的功能模块扩展出属于自己的小组件。通过阅读本书,读者可以深入了解.NET框架的核心设计,掌握.NET性能调优和ASP.NET Core的部署方式。本书包含18章。第1~ 章主要介绍.NET框架、开发环境和运行模式。第4~12章主要介绍依赖注入、配置与选项、后台任务、中间件、缓存、本地化、健康检查、文件系统和日志等常用功能模块。第13~17章主要介绍线程、线程同步、内存管理、诊断和调试,以及编译技术等内容。第18章主要介绍应用程序的部署方式,包括宿主机的部署,以及Docker和Kubernetes的部署。

Linq相关书籍

《LINQ实战》

作为.NET 上连接编程语言和数据库、内存对象、XML 等各种类型数据之间的桥梁,LINQ 引入了一种处理数据的全新理念,将查询无缝集成至开发语言之上。本书第一部分介绍了LINQ 技术及C# 和VB 为此提供的新语言特性,第二、三、四部分详细介绍了LINQ 的三大主要功能LINQ to Objects 、LINQ to SQL 、LINQ to XML,第五部分研究了LINQ 的可扩展性、在应用程序中使用各种LINQ 功能的方法以及LINQ to DataSet 。
本书适合于使用C# 和VB.NET 的软件开发者。

EF/EF Core相关书籍

《Entity Framework Core in Action》

教您如何从.NET应用程序中访问和更新关系型数据。通过清晰的解释、现实世界的示例和约100个图表,您将了解节省时间的模式和最佳实践,包括安全性、性能调优和单元测试。本书使用清晰的解释、现实世界的示例和约100个图表,教您如何从.NET应用程序中访问和更新关系型数据。您将首先清晰地了解Entity Framework,并了解ORM背后的思维模型。然后,您将学习节省时间的模式和最佳实践,包括安全性、性能调优甚至单元测试。在学习过程中,您将解决常见的数据访问问题,并学会如何使用Entity Framework处理它们。

《你必须掌握的EntityFramework6.x与Core2.0》

《你必须掌握的Entity Framework 6.x与Core 2.0 》针对Entity Framework 6.x和Entity Framework Core 2.0以通俗易懂的语言进行深入、全面的探讨,并结合实例来介绍如何灵活运用。《你必须掌握的Entity Framework 6.x与Core 2.0 》共四篇,内容分为19章,第一篇(第1-3章)讲述Entity Framework 6.x基础,并深入讲解如何创建过滤索引、迁移的本质等;第二篇(第4-8章)讲述Entity Framework 6.x进阶,充分阐述Entity Framework 6.x背后隐藏的原理、性能优化、并发解析等;第三篇(第9、10章)讲述Entity Framework Core 2.0基础,并对Entity Framework Core每一版本所出现的新特性进行详细介绍和深入研究;第四篇(第11-19章)讲述Entity Framework Core 2.0进阶,内容包括Entity Framework Core变更追踪策略、创建上下文实例方式、性能优化,结合Entity Framework Core 2.0特性实现多租户模式,利用Entity Framework Core进行数据审计、并发解析等。

设计模式相关书籍

《大话设计模式》

本书通篇都是以情景对话的形式,用多个小故事或编程示例来组织讲解GOF(设计模式的经典名著——Design Patterns:Elements of Reusable Object-Oriented Software,中译本名为《设计模式——可复用面向对象软件的基础》的四位作者EIich Gamma、Richard Helm、Ralph Johnson,以及John Vlissides,这四人常被称为Gang of Four,即四人组,简称GoF)总结的23个设计模式。本书共分为29章。其中,第1、3、4、5章着重讲解了面向对象的意义、好处以及几个重要的设计原则;第2章,以及第6到第28章详细讲解了23个设计模式;第29章是对设计模式的全面总结,附录部分是通过一个例子的演变为初学者介绍了面向对象的基本概念。本书的特色是通过小菜与大鸟的趣味问答,在讲解程序的不断重构和演变过程中,把设计模式的学习门槛降低,让初学者可以更加容易地理解——为什么这样设计才是好的?是怎样想到这样设计的?以达到不但授之以“鱼”,还授之以“渔”的目的。引导读者体会设计演变过程中蕴藏的了、智慧。 本书适合编程初学者或希望在面向对象编程上有所提高的开发人员阅读。

WPF相关书籍

《深入浅出WPF》

WPF是微软新一代开发技术,涵盖了桌面应用程序开发、网络应用程序开发和移动应用程序开发,是微软开发技术未来十年的主要方向。
本书的内容分为两大部分。第一部分是学习WPF开发的基础知识,包括XAML语言的详细剖析、WPF控件的使用、用户界面布局的介绍。第二部分是作为优秀WPF程序员所应掌握的知识,包括依赖对象和数据关联、路由事件与命令、数据模板与控件模板、绘图与动画等。
本书作者具有多年WPF开发经验,历经多个大型项目,现任微软(美国)下载中心项目组高级开发工程师。本书是作者多年来学习和使用WPF的经验总结。

《WPF编程宝典:使用C# 2012和.NET 4.5(第4版)》

《WPF编程宝典:使用C# 2012和.NET 4.5(第4版)》全面讲解WPF的实际工作原理,是一本WPF权威著作。在紧贴实用示例这一思想的引导下,列出实用提示,引导以专业的方式使用WPF。《.NET开发经典名著·WPF编程宝典:使用C# 2012和.NET 4.5(第4版)》开篇介绍WPF基本概念以便为您奠定坚实的基础,并将现有C#技能作为引用框架,然后讨论高级概念,结合实际演示它们的用法,并重点强调了可由此节省的时间和人力成本。

WinForm相关书籍

《WinForm程序设计与实践》

本书分为3部分,共11章。第1~第3章为基础知识部分,主要介绍C#的基本语法和面向对象程序设计方法;第4~第10章为WinForm程序设计部分,主要介绍基于.NET平台的Windows程序开发,包括WinForm基础、输入与输出、数据库访问技术、进程与线程编程技术、加密与解密编程技术以及GDI+编程技术等;第11章为实践项目部分,主要以酒店管理系统为案例,完整地介绍WinForm项目的设计过程。

《Windows Forms程序设计》

本书是Microsoft.NET Forms程序库的最佳使用指南。全书包括15章和4个附录,对WinForms进行了全面而深入的讲解。前半部分讨论了窗体、对话框、GDI+以及打印等相对常见的技术;后半部分则专注于高级主题,内容涵盖设计期集成、资源、应用程序和设置、多线程用户界面以及Web部署等。其中第12、13章专门讲述了ADO.NET和WinForms的结合使用。附录分别介绍了从MFC转移到WinForms、委托和事件、序列化和标准WinForms组件和控件。




如何在 Elementor 网站中添加工具提示的完整指南

您是否希望在网站上添加信息丰富的工具提示?Elementor 可以帮助您快速完成此操作。它是最简单的插件之一,您只需单击几下鼠标即可将工具提示添加到任何 Web 元素中。您根本不需要知道如何编码。

此外,Elementor 还具有许多有用的功能,您可以使用这些功能自定义工具提示的外观以匹配您的网站风格。在本指南中,我们将为您提供有关如何借助此插件在 Elementor 网站中添加工具提示的完整指南。

此外,我们将介绍如何使用客户 CSS 代码添加工具提示。因此,无论您是 Elementor 新手还是已使用多年,本文都适合您!

目录

什么是工具提示?

工具提示是将鼠标悬停在某些 Web 元素上时出现的一段文本。它是一种 CSS 属性,可让您在所需的 Web 元素周围添加额外的信息或内容。这可以包括按钮、链接甚至照片。

您可以使用工具提示添加有用的建议、产品信息或有关内容的一般背景。工具提示还可以简化导航。因此,用户不必访问多个页面,因为您可以在同一个网页上显示更多信息。

工具提示如何帮助您改善网站的用户体验

工具提示可以帮助您添加更多信息,以改善用户体验,满足他们的搜索意图,同时提高他们的网页浏览速度。让我们探讨在网站上使用工具提示的一些主要好处。

a. 允许您添加上下文信息

工具提示允许您显示有关特定 Web 元素的上下文信息。您可以使用它来简化任何复杂指令或 Web 功能的流程,突出显示关键点。

b. 协助填写表单字段

完成在线申请时,您必须填写许多字段。工具提示可以提供有用的说明,以便用户在输入信息时不会犯任何错误。此帮助对于验证信用卡、申请护照、填写账单地址等必不可少。

c. 解释 Web 应用程序设置过程

有些 Web 应用程序对于新用户来说总是很复杂。他们需要花费大量时间来了解系统和界面。使用工具提示,您可以轻松演示任何复杂 Web 应用程序的设置过程。它可以为他们节省宝贵的时间。

d. 帮助您推广产品特色

工具提示不仅可以解释复杂的事物,还可以帮助您推广产品功能。当客户将鼠标悬停在产品上时,您可以通过工具提示显示其功能。

如何使用 HappyAddons 在 Elementor 网站中添加工具提示

我们中的一些人可能会发现使用自定义 CSS 代码创建工具提示很困难。如今,无需一行代码即可为您的网站创建和添加工具提示。HappyAddons 在 Elementor 中为您提供了无代码 CSS 工具提示功能。

有趣的是,您可以在 HappyAddons 中免费获得此功能。您不仅可以添加文本,还可以在 HappyAddons 工具提示中获得高级功能。

  • 更改文本颜色
  • 更改文本排版
  • 更改工具提示位置
  • 添加文本背景颜色和背景图片
  • 添加动态标签
  • 添加动画
  • 添加工具提示箭头

下面让我们探讨如何使用此扩展在 Elemnetor 中添加工具提示。

添加工具提示的先决条件

在您的网站上安装这些插件后,请执行以下步骤。

步骤 01:启用高级工具提示

由于工具提示是一项功能,而不是小部件,因此您必须先启用它。要启用此功能,请选择您网站的任何小部件或元素。

然后,转到“高级”选项卡。向下滚动一点并展开Happy Tooltip选项。打开“启用高级工具提示” 。

高级 elementor 工具提示简介 happyaddons

启用此功能后,您将获得另外两个部分来自定义工具提示。它们是样式和内容。您可以在上图中看到它们。

  1. 样式:此部分将允许您添加自定义设计并为工具提示添加图像。我们稍后将详细讨论此选项。
  2. 内容:您可以从内容部分添加和编辑工具提示文本、固定其位置、添加动画等。

步骤 02:添加工具提示文本

将文本添加到 Elementor 工具提示中

在内容部分,您不仅可以添加所需的工具提示文本,还可以添加 HTML 标签,为工具提示文本提供额外的优势。您可以在此处使用的 HTML 标签包括:

<b>,<i>,<u>,<s>,<br>,<em>,<del>,<ins>,<sub>,<sup>,<code>,<mark>,<small>,<strike>,<abbr>,<span>,<strong>,<a>,<q>,<img>,<dfn>,<time>,<cite>,<acronym>,<hr>

将动态标签添加到工具提示内容

HappyAddons 已集成动态支持以支持您的工具提示内容。但是,由于某些限制,我们很难支持所有标签。我们目前不支持短代码动态标签。

此外,您无法在编辑模式下看到动态数据,只能在预览模式下看到。

# 自定义 Elementor 工具提示的位置

您将在内容部分下方立即找到位置控制设置。默认情况下,您的工具提示将显示在任何元素上方。您将在此部分中获得四个不同的选项来设置工具提示位置。它们是:

  • 顶部
  • 底部
  • 左边
  • 正确的

在下面的照片中,您可以看到我们已将工具提示位置更改为右侧。

更改工具提示的位置

# 向 Elementor 工具提示添加动画

在位置设置的正下方,您将看到动画部分。您将在那里获得八种可用的动画效果。它们是:

  • 淡入
  • 滚入
  • 放大
  • 弹跳
  • 向下滑入
  • 向左滑入
  • 向右滑入
  • 向上滑入

选择满足您工具提示需求的那个。观看下面的照片!

您甚至可以自定义工具提示的动画持续时间。默认情况下,它设置为 1000ms(毫秒)。

为 Elementor 工具提示设置动画

# 添加或删除 Elementor 工具提示的箭头

您可以将此称为工具提示指针或工具提示导航箭头。默认情况下,您将启用此箭头。但您可以根据需要将其停用。该过程如下所述。

注意:如果您想在工具提示中添加图片,则必须关闭此功能。否则,您将找不到可用的添加图片选项。

# 触发工具提示

触发器定义 Elementor 工具提示在屏幕上的显示方式。有两个可用的触发器选项:

  • 点击
  • 徘徊

您将在触发器部分下方看到距离选项。它允许您使用工具提示增加或减少 Web 元素与其之间的距离。

# 对齐工具提示文本

您将在距离部分下方获得文本对齐选项。

步骤 03:设置 Elementor 工具提示的样式

要进一步自定义工具提示,请单击下图中的样式部分。

使用高级选项来风格化你的 Elementor 工具提示

# 增加工具提示的宽度

样式部分中的第一个选项是宽度。拖动宽度按钮并将其调整为所需的尺寸。

# 增加工具提示箭头的大小

您可以使用工具提示箭头大小来调整工具提示的箭头大小。您可以通过拖动下面的测量按钮来完成此操作。

#更改工具提示的字体

您可以从排版设置中为工具提示添加各种风格。您将在这里获得所有 Elementor 排版设置。

更改 Elementor 工具提示的字体

#为工具提示文本的背景添加颜色

您可以从背景颜色选项中为工具提示文本的背景添加颜色。

#为工具提示添加边框半径

默认情况下,工具提示的边框半径为 5 像素。但您可以根据需要更改它。border-radius 控制面板将赋予您执行此操作的完全权限。

编辑 Elementor 工具提示的边框半径

# 将框阴影添加到工具提示中

通过拖动测量按钮,您可以从框阴影设置中向工具提示添加阴影。

向您的 elementor 工具提示添加框阴影

步骤04:启用图像选项

我们已经告诉过你,如果你想启用图像选项,你必须禁用工具提示箭头功能。它将在样式部分启用一个新选项。

#添加图片并调整工具提示

导航到样式部分。单击“背景类型”部分并展开它。您将在那里获得一个图像文件。单击它并上传您想要的工具提示照片。之后,您可以更改其位置、附件、大小、文本颜色、边框半径等。

这就是您可以为您的网站创建精美的图像和基于文本的工具提示的方法。看看您的工具提示在经过大量自定义后最终效果如何。

如何使用自定义 CSS 在 Elementor 网站中添加工具提示

您可以使用多种方式使用自定义 CSS 向 Elementor 网站添加工具提示。让我们探索一些最简单的方法。

方法一:使用 <abbr> (缩写)标签添加工具提示

使用 <abbr> 标签,您可以随时在网站上创建工具提示。您必须在 title=”…” 标签内添加工具提示文本。以下是您可用于创建工具提示的代码示例。

John   <abbr style="text-decoration: none" 
title="I'm an Elementor Expert!">DOE</abbr>

您可以在任何支持 HTML 标签的 Elementor 字段中输入此代码。完成此部分后,只要将光标悬停在该元素上,就会看到工具提示出现。

在 Happyaddons 的 HTML 标签支持字段上添加工具提示代码

注意:您无法使用此方法对工具提示进行样式化!但这是添加工具提示的最简单方法。

方法二:使用 HTML 和 CSS 创建工具提示

现在,我们将向您展示如何创建可自定义的工具提示,以便您可以更改其颜色、更改位置、添加动画等。为此,首先,您必须在 HTML 文件中为工具提示编写简单的代码。

在 Elementor 中,您将获得一个 HTML 小部件来创建一个用于编写此代码的字段。将 HTML 小部件拖放到 Elementor 画布上。

将 HTML 小部件添加到 elementor 画布

您将自动在 Elementor 内容部分中打开一个字段。您必须添加一个类并为其指定一个类名,我们将其命名为“tooltiptext”。此类将用于自定义工具提示。以下是您可以用来创建工具提示的 HTML 代码示例。

<span class="tooltiptext"
>My Skill Sets</span>

这里,我们使用“我的技能组合”作为工具提示文本。您必须将所需的工具提示文本写入此部分。

键入 HTML 代码以将工具提示添加到您的 Elementor 网站

我们在下面分享了 CSS 代码,以便您进一步自定义工具提示。您可以直接将它们复制粘贴到自定义 CSS 部分,也可以根据需要进行修改。您可以将此代码片段添加到 Elementor 自定义 CSS 面板或主题的附加 CSS 部分。

如果您想将此代码添加到 Elementor 自定义 CSS,请按照此导航操作 – Elementor 站点设置 > 自定义 CSS。这是代码。您可以复制工具提示的整个 CSS 代码片段,也可以根据需要自定义它们。

注意:要导航到主题的附加 CSS 面板,请导航至管理仪表板 > 外观 > 自定义 > 附加 CSS

.tooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black;
}

.tooltip .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: black;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  position: absolute;
  z-index: 1;
  bottom: 150%;
  left: 50%;
  margin-left: -60px;
}

.tooltip .tooltiptext::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: black transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
}
键入自定义 CSS 代码来风格化您的 Elementor 工具提示

如果您想更改工具提示位置、箭头位置等,请按照以下代码片段进行操作。

要更改工具提示的位置并将其放在底部,请使用以下代码。

.tooltip .tooltiptext {
  width: 120px;
  top: 100%;
  left: 50%;
  margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */
}
更改底部工具提示的位置

要将其移动到右侧,请使用以下代码。

.tooltip .tooltiptext {
  top: -5px;
  left: 105%;
}
更改右侧工具提示的位置

要将其放在左侧,请使用以下代码。

.tooltip .tooltiptext {
  top: -5px;
  right: 105%;
}
将工具提示位置更改至左侧

要修改工具提示的箭头位置并将其放在底部,请使用以下代码。

.tooltip .tooltiptext::after {
  content: " ";
  position: absolute;
  top: 100%; /* At the bottom of the tooltip */
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: black transparent transparent transparent;
}
将工具提示箭头位置更改为底部

如果你想了解更多关于 CSS tooltip 自定义的知识,你可以访问w3schools

如何避免工具提示看起来像垃圾内容

工具提示是向网页用户提供额外信息的绝佳方式。但如果页面上显示的工具提示过多,则可能看起来垃圾且令人厌烦。在使用工具提示时,您必须考虑避免几件事,以免您的网页看起来垃圾。

下面让我们来探索一下。

1. 保持工具提示简洁明了

工具提示应包含用户必须了解的信息,仅此而已。这意味着您必须避免使用冗长的细节列表、不必要的文本和华而不实的设计元素。相反,请坚持使用简单明了的解释。

2. 切勿同时显示多个工具提示

避免工具提示看起来像垃圾的另一种方法是限制每个块/同一行显示的工具提示数量。一次只显示一个工具提示,并允许用户向下滚动以获取更多信息。

如果您觉得需要添加更多信息,您可以考虑其他方式。例如,您可以嵌入视频和信息图,而不是使用工具提示共享所有负载。这甚至可以确保为用户提供更丰富的用户体验。

3. 保持元素之间的空间

空间是任何 UI 设计的重要组成部分。网页上必须确保多少空间有一个理想的比例。这个比例是 2:1,这意味着三分之一的网页必须有空间。

工具提示也一样。不要让它们太拥挤,以便用户在浏览您的网站时可以稍微喘口气。

4.让用户跳过教程部分

如果您提供教程或其他有用的内容,请确保用户可以跳过这些内容(如果他们不想的话)。这将有助于减少页面上显示的工具提示数量,并鼓励更多人利用您的内容。

一些很棒的工具提示设计示例

能够巧妙地使用工具提示可以提升用户在发展和探索网站时的体验。让我们快速浏览一些最佳的工具提示用例示例。

1.亚马逊

亚马逊目前是互联网上排名第一的电子商务网站。你会发现亚马逊使用无数的工具提示来引导你浏览不同的页面并解释所有必要的流程。每当你进入其主页时,你都会看到如下所示的工具提示。

最好的是,它不仅包含说明,还包含 CTA 按钮。

电子商务网站上的工具提示

2. 维基百科

维基百科是由志愿作家社区维护的在线百科全书。每当您将光标悬停在任何链接的单词上时,您都会看到一个工具提示,显示有关这些单词和术语的更多信息。

用于解释关键术语的工具提示。

3. 全球速卖通

每当您尝试使用信用卡或借记卡从 AliExpress 购买产品时,您都会收到一些工具提示,解释如何完成结帐流程。在下面的照片中,您可以看到工具提示解释了您将在不同的电子卡上获取您的卡号并使用它们来完成订单。

提示如何准确填写信用卡信息

希望这三个示例足以让您了解如何在您的网站上显示工具提示。

有关如何使用 Elementor 添加工具提示的常见问题解答

让我们回答一些关于如何在 Elementor 网站中添加工具提示的最常见问题。

  • 何时应使用工具提示?在某些特殊情况下,必须使用工具提示。例如:
  • 1. 详细说明关键术语和行话。
  • 2. 帮助用户填写表格、结帐页面和安装软件。
  • 3. 解释复杂的流程。
  • 4. 突出主要功能。
  • 5. 节省网页空间。
  • 工具提示对 SEO 有好处吗?当您的网站提供出色的用户体验并满足客户需求时,它在 SERP 上的排名会更高。能够巧妙地使用工具提示可以帮助您实现这两点。这意味着工具提示可以成为提高 SEO 分数的好方法。
  • 工具提示应该有多长?您的工具提示应在 150 个字符以内。不要用不必要的文字填充。保持精确并切中要点。
  • 工具提示在移动设备上有用吗?是的,工具提示也适用于手机。它们实际上是应用内的小消息,可用于突出显示特定的 UI 元素。
  • 工具提示和弹出窗口有什么区别?当用户将光标悬停在特定单词和图标上时,工具提示会向用户提供非常简短而有用的说明。弹出窗口是一种相对较长的描述,有时包括外部网页链接。当用户将光标悬停在特定单词或图标上时,它也会出现。



解决电脑或服务器C盘容量不够的最简单有效方法,适用于所有情况

问:我的电脑C盘不够用,于是增加了一个E盘。C盘上的C:\wwwroot\xycost.com\wp-content\uploads的内容我想转移到E盘,但路径不发生变化,如何操作。
答:你可以使用符号链接(Symbolic Link)来实现将 C:\wwwroot\xycost.com\wp-content\uploads 的内容转移到 E 盘,但路径仍保持不变。符号链接就像一个快捷方式,它指向另一个位置的文件或文件夹,但操作系统和应用程序会认为它仍然位于原始路径下。

具体操作步骤如下:

  1. 将文件移动到 E 盘

    • 首先,确保网站或相关服务已停止,避免在移动文件时出错。
    • C:\wwwroot\xycost.com\wp-content\uploads 文件夹中的所有内容剪切粘贴到新的 E 盘路径下,例如 E:\uploads

  2. 删除原始文件夹

    • 移动文件之后,删除原始的 C:\wwwroot\xycost.com\wp-content\uploads 文件夹。确保在此之前所有文件都已成功移动,并且没有丢失数据。

  3. 创建符号链接
    • 管理员身份打开命令提示符(Command Prompt)。使用以下命令创建符号链接:mklink /D C:\wwwroot\xycost.com\wp-content\uploads E:\uploads

    这条命令会创建一个指向 E:\uploads 的符号链接,路径仍为 C:\wwwroot\xycost.com\wp-content\uploads

  4. 验证符号链接是否有效

    • 在文件资源管理器中打开 C:\wwwroot\xycost.com\wp-content\uploads,查看它是否正确指向了 E:\uploads
    • 如果链接正确,尝试启动相关的网站或服务,确保一切工作正常。

通过这种方式,文件实际存储在 E 盘,但程序仍然会访问原始的 C:\wwwroot\xycost.com\wp-content\uploads 路径,不会发生变化。




如何将 Elementor 搜索图标添加到网站菜单

你如何在电子商务网站上搜索所需产品?大多使用搜索框。

通常,网上商店有各种不同类别的产品。在这么多产品中手动搜索精确的产品非常耗时。搜索框可以立即帮助客户找到他们想要的精确产品,从而节省客户大量时间。

这就是为什么所有网站都必须有搜索框的原因。Elementor 附带一个功能强大的搜索栏小部件,您可以通过它在网站上轻松启用此功能。您甚至可以自定义小部件,使其完美匹配您网站的设计和布局。

在本教程文章中,我们将详细介绍如何将 Elementor 搜索图标添加到您的网站。

Elementor 搜索图标是什么?

Elementor 搜索图标是插件的一个小部件,实际上名为“搜索栏”。它允许您在页眉、页脚、侧边栏或网站的任何位置创建搜索栏。但将其放在页眉或页脚上很方便,因为它使小部件可以从多个页面访问。

小部件的灵活性让您可以设计占位符文本、图标、框阴影、边框、图标位置、排版设置等。您甚至可以针对不同的屏幕尺寸(包括台式机、平板电脑和手机)配置小部件。

以下教程将向您解释所有这些要点。继续阅读。

为什么你应该在你的网站添加搜索选项

搜索栏是大多数现代网站上必不可少的网站功能之一。作为网站所有者,您可以将此功能添加到您的网站,以满足不同的目的,例如查找所需内容、搜索产品、确保更好的网站导航等。

但是,访问者可以使用搜索功能实时获取正确的数据。除此之外,在您的网站上使用搜索栏还有一些好处。

  • 改善访客的用户体验
  • 帮助访客快速找到所需的信息/产品
  • 提高转化率
  • 让访客在你的网站上停留更长时间
  • 帮助您了解人们在您的网站上寻找什么

如何将 Elementor 搜索图标添加到您的网站菜单

现在是时候向您展示如何将搜索表单/图标添加到我们的 Elementor 网站导航菜单了。我们使用预先设计的页面进行演示。此外,我们还使用 Elementor 免费版和专业版小部件创建了一个导航菜单。

预制登陆页面
没有搜索栏的导航菜单

在深入学习本教程之前,您需要在 WordPress 网站上安装并激活以下插件。

先决条件

让我们开始吧:

步骤 1:添加 Elementor 搜索表单小部件

您注意到我们网站的菜单没有任何搜索选项。我们想在导航栏中添加一个搜索图标,因此我们在菜单区域添加了一个新列。

首先,从左侧 Elementor 小部件区域找到“搜索表单”小部件。然后,您需要将小部件拖放到导航菜单的右侧大小列中。

添加 Elementor 搜索表单小部件
添加 Elementor 搜索表单小部件

另外,了解如何在 WordPress 中创建菜单

第 2 步:设置搜索皮肤

添加小部件后,您将获得管理内容区域内的搜索表单内容的所有必要选项。

您可以使用三种不同的皮肤来设置表单设计。皮肤包括:

  • 经典的
  • 最小
  • 全屏

查看下面的图片,找到您最喜欢的皮肤。

设置搜索皮肤
选择正确的设计皮肤

您可以在内容部分写入占位符文本。

步骤 3:管理搜索按钮内容

内容区域允许您管理搜索表单按钮内容。您可以将按钮类型设置为图标文本。在这里,我们将图标定义为我们的按钮。您还可以以自己的方式更改图标和管理图标大小。

管理搜索按钮内容
定义按钮图标类型和大小

步骤 4:设置表单输入字段的样式

要自定义默认搜索表单样式,您需要转到“样式”部分。您可以重新设置搜索表单的输入字段的样式。您可以更改输入的排版、文本颜色、背景颜色、边框颜色、框阴影、边框大小边框半径

在这里,我们自定义了文本颜色添加了边框半径,并将其他设置保留为默认设置。

样式表单输入字段
有组织的搜索表单输入字段

步骤 5:样式按钮

Style- >Button区域带有装饰搜索表单按钮所需的选项。您可以更改文本颜色、背景颜色、图标侧面图标宽度

为了使按钮引人注目,我们改变了它的背景颜色

样式按钮
自定义按钮设计

步骤 6:在布局区域添加边距

您可以通过转到“高级”部分获取 Elementor 提供的其他设置。我们还使用此选项来更改布局

在这里,我们在小部件的顶部添加了一个额外的“ 12px ”边距,以便小部件可以轻松地与其他菜单内容对齐。

在布局区域添加边距
在布局中添加边距

步骤 7:使 Elementor 搜索图标适应移动设备

单击Elementor 面板底部的“响应模式”选项。在 Elementor 面板顶部会打开用于在不同屏幕尺寸之间切换的选项

现在,您需要针对每个屏幕尺寸分别优化布局。您可以通过调整小部件的大小和位置来重新排列布局。希望您能独自完成。

注意:但请记住,不要删除任何小部件。因为如果您删除小部件,它将同时从所有屏幕尺寸中删除。如果您愿意,您可以隐藏特定屏幕尺寸的特定小部件。

使 Elementor 搜索图标适应移动设备

自定义小部件后,这是我们的新导航菜单的最终外观,它具有漂亮的 Elementor 搜索图标/表单。

搜索表单的最终预览
带有搜索图标选项的菜单的最终预览

就是这样。

关于将 Elementor 搜索图标添加到菜单的常见问题解答

如果您对本博客仍有疑问,那么您应该查看下面的常见问题解答部分。我们挑选了一些常见问题并进行了回答,以便您理清思路。

1. Elementor 搜索表单小部件免费吗?

否。搜索表单小部件是一个高级小部件。

2.如何自定义WordPress中的搜索栏?

您可以以不同的方式将搜索栏添加到您的 WordPress 网站并进行自定义。您还可以查看有关如何将搜索栏添加到 WordPress 网站的便捷教程。

3. 如何在 Elementor 中创建和编辑搜索结果页面?

您可以轻松添加搜索结果页面以在 Elementor 中查找网站内容。只需按照以下步骤操作即可。a
. 转到模板->主题构建器。b
. 找到搜索结果。c
. 单击添加新或 (+) 图标。d
. 最后选择一个现成的模板来制作您的搜索结果页面。




腾讯云如何找出攻击IP

进入内容分发网络CDN-日志服务,下载攻击时段的日志,找出攻击IP。再进入域名管理-管理-访问控制-封禁即可。

如果不能恢复网络服务,可以暂时不使用CDN服务,进入域名解析设置界面,

CNAME 默认 xycost.com.cdn.dnsv1.com.cn
设置为暂停,@ A 默认129.211.158.244启用即可。

暂停CDN后,对于图片较多的网页访问时间变长,但可恢复网站的访问。




适用于 Elementor 和 WordPress 的 10 多个最佳预订插件

网上预订的兴起为各行业创造了巨大的商机,例如,网上旅游网上餐饮预订行业的市场规模目前分别超过5190亿美元2200亿美元

这种预订趋势也蔓延到了医疗保健、餐厅和沙龙等其他行业。网上有大量的预订插件,您可以借助 Elementor 的强大功能在一夜之间在 WordPress 上无缝创建预订网站。

如果您正在寻找与 Elementor 集成的 WordPress 预订插件,本文将满足您的需求。我们将在本文中向您介绍一些适用于 Elementor 和 WordPress 的最佳预订插件,以便您可以为您的网站选择最佳插件。开始吧!

什么是预订插件?

预订插件使网站能够在线接受和管理预约、预订和预订。它为访问者提供了用户友好的界面,以便他们可以选择安排预约的时间、日期和服务。

作为管理员,您可以从后端设置预订规则、通知期限和取消政策。一些预订插件​​包括可自定义的预订表单、付款处理、自动通知和电子邮件营销集成等附加功能。

您必须了解预订插件的事项

您会发现数十个预订插件与 Elementor 集成。但并非所有插件都同样完美。预订插件中必须具备一些必需的功能和元素才能创建理想的预订网站。

我们已将它们列在下面的要点中。请浏览一下。

  • 功能强大的管理面板,具有直观的界面
  • 日历可用性,显示哪些日期和时间可以预订
  • 支付集成,允许客户进行支付
  • 灵活的预订规则,包括通知时间和取消政策
  • 多语言支持,覆盖不同国籍的人
  • 与Elementor 等页面构建器集成
  • 移动响应能力和可定制的样式
  • 自动电子邮件通知和预订提醒
  • 如有需要,提供支持和更新

Elementor 的最佳预订插件

本节将讨论 Elementor 和 WordPress 的一些最受欢迎和最好的预订插件。我们将重点介绍它们的主要功能、定价和其他一些重要方面,以便您可以有效地决定合适的插件。快速浏览一下它们。

插件 销售或主动安装 评级
阿米莉亚 70,000+ 4.50
布克利 70,000+ 4.25
轻松安排预约 40,000+ 5.00
预约时间预订 20,000+ 4.90
WP 简单预订日历 20,000+ 5.00
WP Timetics 2,000+ 4.00
布克奈特 10,300+ 4.90
预订新闻 10,000+ 4.25
WordPress 酒店预订 4.50
Webba 预订 3,000+ 5.00
沙龙预订 1,180+ 4.34
预约

在接下来的讨论中了解它们的详细信息。

1. 阿米莉亚

Amelia 预订插件

Amelia是一款出色的 WordPress 预订插件,旨在为您提供企业级预订体验。它包含一系列功能和工具包,可自动管理预订、付款、服务安排和位置。

因此,您无需花费太多时间打电话、发电子邮件和聊天来接收和确认预订。其智能预订系统与流行的日历平台同步,将所有预约整合到一个集中中心。

您可以设置自动提醒和通知,以便客户和服务提供商不会错过即将到来的预约。除了预订系统之外,Amelia 还具有强大的分析功能,可提供包含对您的业务有价值的见解的高级报告。

Amelia 插件的主要功能

  • 提供多种演示内容,以便快速准备您的网站
  • 自动电子邮件和短信通知
  • 轻松管理多个地点和员工
  • 让您为预订表单创建自定义字段
  • 允许添加折扣和优惠券用于营销目的
  • 与 WooCommerce、Elementor、Zoom、Google Meet 等集成
  • 可按小时、休息时间和个别团队成员定制服务安排
  • 支持 PayPal、Stripe 和移动支付网关

Amelia 插件的价格

Amelia 在 WordPress.org 上提供免费版本。其高级版本起价为每年 79 美元,并享有15 天退款政策

2. Bookly

Bookly WordPress 预订插件

Bookly是 Elementor 的另一个功能丰富的 WordPress 预订插件。此插件可让您找到创建功能齐全的预订网站所需的几乎所有内容。Bookly 是所有类型企业的完美解决方案,例如餐厅、诊所、水疗中心、健身、租赁服务、律师事务所等。

Bookly 为您提供一流的服务管理灵活性。您可以轻松自定义服务时长、能力、容量和定价。您可以根据您的技能、团队成员和要求为客户量身定制服务。

您将获得插件中的几个演示内容,因此您可以从头开始准备预订网站。它可以帮助您实现时尚的 UI 设计、选择精彩的配色方案、在货币之间切换以及设置灵活的计划选项。

Bookly 插件的主要功能

  • 具有用户友好界面的综合管理区域
  • 直观且可定制的预订表格
  • 能够创建无限的预订表格
  • 允许您在 50 多种货币之间切换
  • 支持 17+ 种支付网关
  • 轻松设置自动通知和提醒
  • 与 WooCommerce 集成可让您销售产品和服务
  • 让您将员工日程安排与日历同步

Bookly 插件的价格

Bookly 在 WordPress.org 上提供免费版本。其高级版本收费89 美元/终身。没有其他高级计划可用。

了解如何创建旅游网站

3. 简单安排约会

简单安排预约插件

Simply Schedule Appointments具有初学者友好的界面和大量令人兴奋的功能,因此您可以毫不费力地提供不同的预订服务。它简化了客户和顾客根据他们喜欢的日期和时间预订产品或服务的过程。

与 Elementor 集成后,您可以使用自定义字体、颜色、对齐方式、填充和 CSS 自定义其预订日历。该插件还包含一些内置功能,可使用颜色和自定义字段自定义其预订表单,以便您可以将其与您的业务品牌相匹配。

Simply Schedule Appointments 与多个流行的支付网关集成。这使客户能够使用他们所需的支付系统完成付款。

Simply Schedule Appointment 插件的主要功能

  • 高级定制功能包括自定义字段和样式
  • 轻松与 Google 日历同步
  • 与所有流行的页面构建器集成
  • 一键联系客户支持
  • 让您按日期、时间和其他因素显示您的空闲时间
  • 发送时间触发的通知
  • 同一时间段内多次预订
  • 转化跟踪系统帮助您了解预订渠道

Simply Schedule Appointment 插件的价格

Simply Schedule Appointments 在 WordPress.org 上提供免费版本。其高级版本起价为每年 99 美元,并享有30 天退款政策

4. 预约时间预订

预约时间预订

Appointment Hour Booking是一款易于使用的 Elementor 和 WordPress 预约插件。您可以使用该插件创建无限数量的预约表格。此外,您还可以展示在特定日期您可以提供特定服务的时间。

这样,客户就可以随时从您的可用列表中选择预约时间。该插件还可以帮助您为不同的服务创建多个预约表单。您可以从后端指定一次可以预约多少人以及每项服务的收费标准。

您可以选择将预订表单链接到付款处理。预约时间预订插件与许多支付网关集成。因此,您可以轻松链接客户所需的支付网关。

预约时间预订插件的主要功能

  • 内置日历可显示工作日、日期、小时、假期和特殊日期
  • 允许定义多个服务,并设置各自的价格和持续时间
  • 自动管理可用时间,防止重复预订
  • 为用户和管理员设置电子邮件通知
  • 手动和自动生成预约和预订的 CSV 报告
  • 与 WooCommerce、Zoom、MailChimp、SalesForce 等集成
  • 专用的管理仪表板,用于管理服务、设置和预约
  • 提供详细的操作方法文档

预约时间预订插件的价格

Appointment Hour Booking 在 WordPress.org 上提供免费版本。其高级版本起价为每月 6.99 美元,并有条件退款政策

5. WP简单预订日历

WP 简单预订日历

WP Simple Booking Calendar是一款用户友好的插件,可帮助企业和网站所有者显示其出租物业和服务的可用性。此插件对于需要以直接方式展示其产品(如房屋、酒店房间、汽车、租赁服务等)可用性的企业特别有用。

您可以将日历的可用性与 Google 日历、Airbnb 和其他可以导入 iCal 源的网站同步。您可以在一个仪表板上显示多个日历,并将它们链接到特定页面。您可以通过修改日历的颜色、符号和文本来自定义日历的外观。

WP Simple Booking Calendar 的主要功能

  • 重量轻且易于使用
  • 一键编辑多个日期
  • 将日历翻译成不同的语言
  • 将鼠标悬停在特定日期时显示工具提示
  • 直观的后端日历管理
  • 创建无限日历
  • iCalendar 导入和导出
  • 全天候提供出色的客户支持

WP Simple Booking Calendar插件的价格

WP Simple Booking Calendar 在 WordPress.org 上提供免费版本。其高级版本起价为每月 39 美元,并享有14 天退款政策

6. WP Timetics

WP Timetics 预订插件

WP Timetics是一款功能强大的 WordPress 预约插件,可让您轻松创建和管理在线日程安排,预约数量不受限制。WP Timetics 是一款独特的插件,专门面向教练、顾问、导师、教师等,旨在让创建日程安排变得轻松无忧。

其无缝短代码功能可轻松将日程表添加到任何页面,提供灵活性。此外,收集员工和服务客户​​等业务数据也变得更加容易。

如果使用得当,WP Timetics 将使您的业务更加高效,并减少出错的可能性,从而使您的业务进一步发展。该插件可以设置无限数量的座位图,并帮助您在几秒钟内预订高端会议,将您的日程安排转化为竞争优势。

WP Timetics 插件的主要功能

  • 创建具有多种会议类型的无限会议
  • 为您的客户创建多个票价等级
  • 自动时区检测和位置选择偏好(虚拟或面对面)的好处
  • 通过 PayPal 和 Stripe 集成实现多种付款方式
  • 利用 Google Meet 和 Zoom 集成举行虚拟会议
  • 使用 Pabbly 和 Zappier 集成实现业务运营自动化
  • 通过 Microsoft Outlook 和 Google 日历跟踪会议和预订
  • 发送预订确认、取消和重新安排的电子邮件通知

WP Timetics 插件的价格

WP Timetics 的基本计划起价为每年 79 美元,并提供15 天退款保证

7.Booknetic

Booknetic - 用于预约安排的 WordPress 预订插件

Booknetic是另一个使用 WordPress 创建预订网站的优质插件。它可以帮助您创建各种预订网站,并在一个页面上处理预订、会面、付款、通知和销售。

其直观的用户界面 (UI) 允许客户通过台式机和手机预订和安排预约。强大的管理面板和详细的报告系统将让您随时掌握最新动态。您可以查看收入来源、浏览客户反馈并评估员工绩效。

Booknetic 插件非常适合律师事务所、水疗沙龙、租赁公司、美发沙龙和健身房。与支付网关的集成可以简化支付处理系统。

Booknetic 插件的主要功能

  • 能够创建自定义预订表格
  • 向客户发送提醒电子邮件
  • 多重预订允许客户在一次会话中预订多项服务
  • 与 PayPal、Stripe、Mollie、Square、Razorpay 等集成
  • 优惠券系统可帮助您从客户那里获得更多预订
  • 允许您提供多地点服务
  • 拥有多语言和 RLT 支持

Booknetic 插件的价格

Booknetic 没有免费插件。常规许可证收费 79 美元。常规许可证提供开发人员的六个月支持。

8. BookingPress

BookingPress – 预约插件

BookingPress是一款适用于 Elementor 和 WordPress 的免费预订插件。虽然它相对较新,但它赢得了 2022 年 TemplateMonster 奖。这意味着该插件具有巨大的潜力和光明的未来。它可以帮助您创建一个功能齐全的预订网站,满足您的大部分需求。

BookingPress 是美容院、健身馆、医疗保健、牙科诊所、教育辅导、水疗业务、瑜伽课程、租赁商店等的良好解决方案。该插件包含功能丰富的工具集,可创建定制的预订表格和配色方案以维护您的品牌形象。

可以通过电子邮件、短信和 WhatsApp 向员工和客户发送自动通知和提醒。您可以启用其中每个功能或特定功能。

BookingPress 插件的主要功能

  • 用于管理客户、付款和约会的便捷管理工具
  • 允许客户预订查看日历
  • 完全可调的预订表单向导
  • 支持 Gutenberg 和 Elementor
  • 与 15 个以上的支付网关无缝协作
  • 与 Zapier、Google Meet、Zoom、Outlook 和 WooCommerce 集成

BookingPress 插件的价格

BookingPress 在 WordPress.org 上提供免费版本。其高级版本起价为每年 99 美元,并享有14 天退款政策

9. WordPress 酒店预订

MotoPress 推出的 WordPress 酒店预订插件

WordPress Hotel Booking是一款功能丰富的预订插件,由 MotoPress 开发。该插件专为酒店业主和经理开发,旨在以简化的方式管理不同类型的住宿。

您可以创建详细的列表,涵盖酒店客房的全面描述、图片、容量、床型和附加服务。该插件与 Elementor 和 Divi 等流行的页面构建器集成。它也与 Gutenberg 无缝兼容。

WordPress 酒店预订插件的主要功能

  • 创建适合移动设备的预订表格
  • 添加自定义字段以进行高级属性搜索
  • 轻松查看日历上的实时可用性 
  • 动态显示季节性定价
  • 根据物业设施设定复杂的费率
  • 根据入住时间设定房价
  • 出示折扣券和强制性的印花税
  • 与支付网关集成

WordPress 酒店预订插件的价格

WordPress Hotel Booking 没有免费版本。其价格从每年 139 美元起,并有30 天退款政策

10. Webba 预订

Webba Booking- 预约和活动预订日历插件

我们下一个精心挑选的插件是Webba Booking。该插件授权您创建一个响应式日历和预订表单,以允许客户在一次会话中进行团体和多个预订。高级定制是其突出的功能。

Webba Booking 提供 79 多种设计方案和 80 多种自定义选项。因此,您可以为预订表单和日历设置所需的布局和外观。其扩展功能一定会让您爱不释手。

Webba Booking 插件的主要功能

  • 灵活的时间安排使您可以在营业时间内展示无限的优惠
  • 响应能力让客户可以通过任何设备预约
  • 自动电子邮件和短信通知发送提醒
  • 支持 100 个支付网关
  • 与 Google 日历、Zoom、WooCommerce 等集成
  • 自动生成发票并计算税款

Webba Booking插件的价格

Webba Booking 在 WordPress.org 上提供免费版本。其高级版本起价为每年 89 美元,并享有30 天退款政策

11. 沙龙预订

沙龙预订 WordPress 插件

Salon Booking插件非常适合美容中心、男士沙龙、沙龙、理发店等商店以及类似类型的企业。您可以使用该插件设置高级预订规则、定义假期并列出网站的封锁时间。

这大大降低了在错误日期预订服务的可能性。即便如此,如果有任何客户在错误的时段预订了您的短节目或服务,您也可以轻松地从后端预订系统取消预订,并通过电子邮件要求客户重新安排。

沙龙预订插件的主要功能

  • 自动提醒通过电子邮件和其他媒介(如手机、Twilio、Plivo 和 1p1sms)发送
  • 与 Google 日历集成可帮助您在一个地方查看所有预订
  • 与多个支付网关合作
  • 所有个人作品的个人帐户页面
  • 先进的折扣系统鼓励更多顾客预约
  • 轻松为助手创建目录

沙龙预订插件的价格

Salon Booking 没有免费插件。常规许可证每年收费 69 美元。常规许可证提供开发人员六个月的支持。

12.JetAppointment

JetAppointment 预订插件

虽然我们在本列表文章的末尾介绍了JetAppointment插件,但这并不意味着该插件缺乏优质功能。实际上,这也是一个功能丰富的插件,可用于使用 Elementor 在 WordPress 上创建独立的预订网站。

它提供多种自定义模板、预约布局和自定义字段类型,以便您可以创建出色的预订表单。您可以配置一个强大的日历来定义您的工作日和工作时间,以便客户可以明智地预订您。

JetAppointment 插件的主要功能

  • 在可视日历上配置工作日、工作时间和休息日
  • 安排缓冲时间并根据不同时段设定价格
  • 约会会自动创建 Zoom 会议链接
  • 配有简洁的仪表板来管理预约
  • 与许多支付网关无缝协作

JetAppointment 插件的价格

JetAppointment 没有免费版本。其收费为每年 19 美元,并有30 天退款政策

Elementor 和 WordPress 最佳预订插件常见问题解答

Elementor 和 WordPress 最佳预订插件常见问题解答

到目前为止,您已经了解了 Elementor 和 WordPress 最佳预订插件的主要特性和功能。现在,我们将回答 Facebook、Quora、Reddit 和其他地方关于预订插件的一些常见问题。继续阅读!

  • 如何使用 Eelementor 创建预订功能?您无法直接使用 Elementor 创建预订功能。您必须安装与 Elementor 集成的预订插件。此集成将在 Elementor 面板中创建一个小部件,您可以将其拖放到画布上并在之后进行自定义。
  • 如何推广预订网站?1. 撰写并发布有价值的 SEO 优化内容,以便在搜索引擎上排名
    2. 在目录网站上列出您的网站和服务
    3. 与社交影响力人士合作
    4. 在特殊场合提供特殊折扣和优惠券
    5. 利用会员卡系统留住老顾客
    6. 利用电子邮件营销的力量
  • 适合小型企业的最佳在线预订系统有哪些?WordPress 可以成为小型企业开展在线预订业务的首选解决方案。它有大量超级令人兴奋的插件,既有免费的,也有专业的,可以在一夜之间准备好预订网站。以下是一些适用于小型企业的顶级 WordPress 预订插件/系统。1. Amelia
    2. Bookly
    3. 简单安排预约
    4. 预约时间预订
    5. 已预订
  • 在线预订业务面临的主要挑战是什么?1. 通过一个平台管理多个预订服务
    2. 高峰时段的时段管理
    3. 随时解决技术故障
    4. 处理时区差异
    5. 处理定价和折扣
  • 目前哪些预订业务最赚钱?1. 酒店预订
    2. 航班预订
    3. 汽车旅馆预订
    4. 汽车/设备预订
    5. 餐厅/中心预订
    6. 水疗和沙龙预订

关于 WordPress 预订插件的最后的话!

WordPress 绝对是以最低成本创建理想预订网站的有效媒介。您永远不会在其他平台上找到与 WordPress 相同的灵活性。您可能需要其他几个插件和扩展来增强您网站的用户体验。

例如,您将需要其他插件,如安全、CRM、社交共享和备份插件。如果您想了解有关这些的更多详细信息,请通过评论框告诉我们。我们将快速为您提供必要的资源。




使用 Elementor 倒计时器小部件影响访客

据许多研究人员称,电子商务网站的平均转化率约为 2.5%-3%。这意味着大多数访问电子商务网站的人不会立即购买产品。因为他们中的大多数人认为他们可能会在浏览完产品后再购买。

Elementor 倒数计时器是一款实用的小工具,可以帮您免去这一麻烦。它能够激发网络访问者的冲动,让他们立即想到购买所需的产品,而不是停留在“添加到购物车”选项中。

在本文中,我们将详细解释如何使用 Elementor 倒数计时器小部件影响访问者。在此之前,我们将讨论一下该小部件。

Elementor 倒计时器小部件是什么?

Elementor 倒数计时器小部件允许您显示距离特定事件或截止日期的剩余时间。这是在网络访问者中营造紧迫感的有效方法。该小部件在产品发布、促销、特殊季节、销售优惠等期间非常有用。

Elementor 倒数计时器小部件具有高度可定制性。您必须首先根据您的活动将倒计时设置为任何特定日期和时间。然后,您必须配置其布局、字体、排版、特殊效果和整体设计。

Elementor 倒计时器小部件如何影响访客

通过添加倒数计时器小部件,您可以鼓励网络访问者立即采取行动,从而增加转化的可能性。该小部件通过以下方式实现此目的。

  • 创造紧迫感

滴答作响的时钟显示促销活动即将结束,可以促使访客立即采取行动。“时间不多了”的视觉表现可以增强情感反应。这种方法在促销和销售活动中非常有用。探索10 种行之有效的方法来创造紧迫感并促进电子商务销售

  • 建立预期

随着倒计时的进行,访客对即将举行的活动、产品发布和特别促销活动的关注度越来越高。这种期待鼓励用户在日历上做个标记,这样他们就不会忘记活动确切开始的日期。

  • 引起轰动和炒作

由于倒计时小部件增强了情绪反应,因此很容易在用户中引起轰动和希望。这可以扩大口碑营销,吸引更多目标受众。请记住,在推出新产品之前引起轰动和炒作非常有帮助。

  • 推动重复访问

随着截止日期临近,访客可能会想多次访问您的网站,以查看还剩多少时间。这可以培养您的品牌与潜在客户之间的联系感,在长期竞争中对留住客户大有帮助。

  • 提高转化率

通过结合紧迫性、预期、炒作和重复访问,您可以促使访问者采取您想要的行动,无论是进行购买、注册新闻通讯还是参加活动。所有这些的最终结果是提高转化率

如何在 WordPress 上使用 Elementor 倒计时器小部件

在本节中,我们将向您展示如何在 WordPress 上使用 Elementor 倒计时器小部件的分步指南。但在开始本教程之前,请确保您的网站上安装了以下插件。

先决条件:

希望您的网站上有插件。现在,开始下面的教程吧。

步骤 01:找到倒计时小部件并将其添加到画布

使用 Elementor Canvas 打开您的页面。我们之前已经创建了一个页面。现在,我们只需将倒数计时器小部件添加到页面即可解释该过程。

在Elementor 面板的搜索栏中输入 Countdown 。选择带有 HappyAddons 徽标的小部件(因为您已为它付费)。将小部件拖放到画布上的合适位置。

找到倒计时小部件并将其添加到画布

您可以看到小部件已添加。这是默认视图。现在您必须对其进行自定义,以符合您网站的品牌形象。

添加了倒计时器小部件

步骤 02:自定义倒计时器小部件

您必须在整个自定义过程中对其布局、字体、颜色、消息和效果(如有必要)进行风格化。探索如何做到这一点。

  • 为小部件着色

转到“样式”选项卡。向下滚动选项卡,找到“时间颜色”选项。选择您想要的颜色。我们为小部件文本选择了白色。

为倒数计时器小部件着色

像时间一样,为小部件的标签着色。(请注意,您需要向下滚动)确保选择一种对比色,使小部件文本清晰可见。

为标签颜色着色

注意:如果需要,您可以使用这些选项分别为天、小时、分钟和秒设置不同的颜色。使用上述方法,您可以一次将相同的颜色应用于整个小部件。

单独设置时间的颜色

  • 设置小部件的字体

来到时间排版选项。找到并点击铅笔图标。您将获得排版列表。选择一个字体系列

设置适合时间的字体

之后,您可以自定义小部件文本的字体大小、粗细、样式、装饰、字母间距单词间距。

调整小部件文本的字体大小

以同样的方式,设置标签的字体

设置标签的字体

  • 设置高度和宽度

通过改变Box WidthBox Height,您可以决定是否在单行或多行中显示小部件。

注意:如果您愿意,也可以自定义背景类型、边框类型和半径。但由于我们不需要下面的设计,因此我们保留了原有的选项。

设置倒计时器小部件的高度和宽度

  • 设置时间

要设置倒计时时间,请转到“内容”选项卡。您将获得设置倒计时时间的选项。

设置倒计时时间

  • 配置倒计时设置

在倒计时设置下,您将获得更改标签位置、显示/隐藏标签重命名标签的选项。该过程已在下面附带的视频中进行了说明。根据需要进行更改。

将小部件对齐到最适合的位置。您可以在时间之间添加分隔符。您可以将任何字符设置为分隔符。例如,我们添加了冒号 (:) 作为小部件的分隔符。

设置对齐方式并显示分隔符

  • 设置结束动作

您可以指定倒数计时器结束后发生的情况。您可以显示任何特定的图像、消息或重定向链接。

在结束操作下,从列表中选择结束操作类型。假设我们要添加一条消息。单击消息选项

设置倒计时器小部件的结束操作

写下您想要的消息作为结束操作。默认情况下,消息将以黑色显示。由于我们的网页背景也是黑色,因此文本应该具有对比色,以便完美可见。

点击工具栏切换图标。这样会打开更多选项,你可以用它们来自定义文本。

将消息作为结束操作添加到倒数计时器小部件

单击工具栏切换图标将打开下面标记的选项。您可以使用它们来风格化您的结束操作消息

将消息风格化为结束操作

注意:只有在倒计时结束后,您才会看到结束消息或与结束操作相关的任何内容。

步骤 03:使倒数计时器小部件适应移动设备

单击Elementor 面板页脚处的“响应模式”选项。这将向您显示将屏幕切换到不同屏幕尺寸的选项。

您可以分别调整字体大小、小部件位置和布局,以使小部件完美适合特定的屏幕尺寸。

注意:不要删除任何元素或更改任何屏幕上的颜色。因为如果您删除任何元素或更改其颜色,它将应用于所有屏幕。

使倒数计时器小部件适应移动设备

步骤 04:添加附加消息以使小部件更有意义

一旦你的倒计时器小部件准备就绪,你可以用一些额外的小部件来装饰它,以便它对用户来说看起来聪明且有意义。

添加附加消息以使小部件更有意义

因此,您可以使用 Elementor 倒计时器小部件在您的网站上创建倒计时器。

步骤 05:或者使用现成的模板

如果从头开始在您的网站上创建倒数计时器看起来很麻烦,您可以使用现成的模板。HappyAddons 附带一个模板库,您可以在其中找到许多可以轻松导入的倒数计时器模板。

单击画布上的HappyAddons 库图标

HappyAddons 库图标

点击“过滤”选项查看类别。选择“即将推出”类别。

从过滤器中选择“即将推出”

将光标悬停在您喜欢的模板上。将出现“插入”按钮。单击该按钮将模板插入到画布中。

选择倒计时器模板

模板已导入到画布中。现在您可以按照上面所示的方法根据需要自定义模板。

自定义模板

希望您喜欢本教程。

如何解决 Elementor 倒计时器不起作用的问题

有几种情况下,您可能会遇到 Elementor 倒计时器小部件无法正常工作的情况。如果您遇到这种情况,请考虑检查以下几点。

1. 定时器设置配置不正确

如果截止日期配置不正确,倒数计时器将无法按预期运行。如果您在 WordPress 后端配置的时间格式与目标位置不同,倒数计时器小部件肯定会显示错误的时间。

转到WordPress 仪表板 > 设置 > 常规。向下滚动页面,来到页面上标记的部分。检查您是否已正确配置时间。

在 WordPress 后端配置时间设置

2.缓存问题

缓存插件通常会干扰倒数计时器等动态网络元素。如果您的网站上有缓存插件,请确保您已清除缓存。如果小部件在此之后仍不起作用,请尝试停用缓存插件。

3. JavaScript 错误

有些 JavaScript 错误可能会导致倒计时器停止运行。转到您的搜索控制台。如果有任何错误,您会在通知中看到它。

4. 插件过时

确保 HappyAddons Pro 插件已更新至最新版本。因为有时旧版本会自动产生错误,这可能会导致与倒数计时器小部件发生冲突。

最后的话!

希望您已经获得了有关如何使用 Elementor 倒数计时器小部件的清晰指南。现在,通过将该小部件战略性地整合到您的网站中,您可以增强用户参与度、推动转化并推广限时产品优惠。

但请记住,在使用小部件时,请确保它与您的品牌吸引力保持一致,以便它在您的网站上保持一致。此外,不要忘记分析倒计时器的性能以评估其对用户行为的影响。




如何更好的在 Windows Server 上运行 WordPress

WordPress 是排名第一的内容管理系统,并且针对博客进行了优化。但您可以将 WordPress 用于任何类型的网站,无论是电子商务、通用网站还是个人网站

由于易于维护且拥有数千个插件和主题,WordPress 开发日益流行。

WordPress 在后台依靠 PHP 运行,因此,基本上它在 Linux 上运行效果最好,但是 – 如果您仍然愿意在 Windows 上运行 WordPress,本文将帮助您修复您在 Windows 平台上可能遇到的最常见错误。毕竟Linux的操作界面实在太难用了。

IIS 文件夹权限

WordPress 需要特殊权限才能更新 wp core、其插件和访问文件写入功能。如果您使用 Web 平台安装程序,则必须手动设置文件夹权限。

打开 Windows 资源管理器并找到 wordpress 安装文件夹。右键单击它,选择属性并单击安全选项卡。然后,单击“编辑”,然后单击“添加”。输入这些用户IUSR 和 IIS_IUSRS,并授予他们完全访问权限。

一旦添加,Windows 将把这些用户权限应用于所有子文件夹以及 WordPress 将来创建的文件夹。

默认文档类型和目录浏览

默认情况下,出于安全原因,IIS 不允许目录浏览。但为了正常运行,必须允许。为了解决此问题,请在托管空间的根目录中找到 web.config 文件,如果找不到它 – 这意味着它不存在,因此必须创建它。创建一个,然后将需要的详细信息复制/粘贴到其中:

最大文件上传大小

由于某些原因,您几乎肯定会遇到此错误:

“此文件超出了此网站的最大上传大小”

如果您已从 Web 平台安装程序安装了 WordPress 以安装适用于 Windows 的 PHP,则最大文件上传大小将设置为 2 Mgb(兆字节)。今天,这是不够的。

找到 PHP 根文件夹(PHP 的安装位置)。编辑 php.ini 并找到以下变量:

上传最大文件大小=2M

将其更改为以下内容:

上传最大文件大小=10M

或者您需要的任何尺寸。

修改DNS解析的问题

在安装了 IIS 的 Windows Server 主机上安装 WordPress 后,我注意到加载网页的初始响应时间很慢。当我单独测试 PHP 时,一切似乎都运行得非常快。连接到 MySQL 并直接运行一些查询似乎也运行得很好。

问题似乎出在 DNS 名称解析上。在 WordPress 配置文件中,不要设置数据库主机 localhost,而应使用本地 IP 地址。

1 define('DB_HOST','localhost');

将其更改为 127.0.0.1

1 define('DB_HOST','127.0.0.1');

您会立即注意到速度的提升和更高的 Google PageSpeed 分数!这是因为系统每次都必须确定 localhost 解析到哪个 IP 地址。通过使用 IP 地址,我们可以跳过此查找,这意味着服务器响应速度更快。

您可能遇到性能缓慢的第二个原因是您可能没有启用 OPcache。

在生产服务器上启用 OPcache 将优化 PHP 的任何顺序执行,从而带来巨大的改进。

如何激活 PHP OPcache?

  1. 首先,在记事本或其他文本编辑器中打开 PHP.INI 文件。它可能位于 PHP 版本下的程序文件中,具体取决于 PHP 的安装方式,但直接找到它可能更简单。
  2. 然后确保 扩展目录 已设置,以确保扩展目录已配置。此行通常应为: extension_dir = "ext"
  3. zend_extension=php_opcache.dll 在 PHP 代码末尾添加 一个新行。
  4. 然后重新启动 Apache 或 IIS
  5. 最后,PHP 现在速度更快了。

验证上述操作是否成功的最简单方法是创建一个 PHPinfo 文件(),并检查 Zend Engine 行下是否显示“使用 Zend OPcache”。此外,在页面下方,“Zend OPcache”部分应该存在并显示“启动并运行”。




word及excel表的密码如何取消

如果忘记了Excel表的密码,您几乎无法直接取消密码,但有几种方法可以尝试绕过或去除Excel文档的密码保护。其中之一是使用专门的密码恢复软件、利用VBA代码或通过创建一个不含密码的新副本。以下内容将详细介绍这些方法和步骤。

一、使用密码恢复软件

热门的密码恢复工具如Passware或Excel Password Recovery Lastic可以帮助恢复遗忘的Excel密码。这些软件通常使用高级算法尝试匹配并破解密码,但这种方法可能需要较长时间,并且无法保证100%的恢复成功率。

  1. 下载并安装密码恢复工具。
  2. 打开工具并加载受密码保护的Excel文件。
  3. 选择破解密码的方法和选项,如暴力破解、字典攻击或掩码攻击。
  4. 启动密码恢复进程并等待软件尝试解开密码。

二、利用VBA代码去除工作表保护

提到VBA(Visual Basic for Applications)脚本,我们可以尝试运行一个简单的宏来去除工作表的密码,但这只对较低版本的Excel有效。请注意,这种方法只适用于工作表保护,并且对于加密的文件打开密码则不适用。

  1. 按下Alt + F11键打开VBA编辑器。
  2. 插入一个新模块(Insert > Module)。
  3. 在模块中粘贴以下VBA代码:
Sub PasswordBreaker()
    Dim i As Integer, j As Integer, k As Integer
    Dim l As Integer, m As Integer, n As Integer
    Dim i1 As Integer, i2 As Integer, i3 As Integer
    Dim i4 As Integer, i5 As Integer, i6 As Integer
    On Error Resume Next
    For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
    For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
    For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
    For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
        ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
        Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
        If ActiveSheet.ProtectContents = False Then
            MsgBox "Password is " & Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
            Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
            Exit Sub
        End If
    Next: Next: Next: Next: Next: Next
    Next: Next: Next: Next: Next: Next
End Sub

  1. 运行这段代码,如果工作表只是被普通保护,有概率可以成功解除保护。

三、创建新的不含密码的Excel副本

如果你无法记起工作簿的打开密码,但仍可访问文件内容,可以通过另存新文件来创建一个不含密码的副本。

  1. 打开受密码保护的Excel文件。
  2. 若能够访问内容,选择所有数据并复制。
  3. 打开一个新的Excel工作簿。
  4. 粘贴刚才复制的数据。
  5. 另存为一个新的文件,并确保不要设置密码。

四、利用在线服务

存在一些在线服务可以帮助用户解锁受密码保护的Excel文件,如LostMyPass(https://www.lostmypass.com/zh/)或Online Hash Crack或https://products.aspose.app/cells/zh/unprotect/sheet。但必须注意,此方法涉及隐私风险,传输给第三方的文件中不应包含敏感信息。

  1. 访问在线解锁服务的网站。
  2. 按照指示上传受密码保护的Excel文件。
  3. 启动解锁流程,等待服务破解密码。(部分是付费服务)

以上是去除Excel表密码的几种方法。由于Excel的密码保护是为了保护数据安全,因此在没有密码的情况下取消密码有其固有风险和限制。在遵循合法行为的前提下,尽可能避免使用这些方法去破解他人的文件密码,而只应用于个人遗忘密码的情况。




我的第一个autocad 插件编写,可以自动列出图形中的全部边界对象的面积。

我在CAD中设置了几个边界对象,如何列出全部边界对象及其面积。

使用 LISP 脚本

(defun c:ListAreas ( / ss i ent area)
(setq ss (ssget '((0 . "LWPOLYLINE, POLYLINE"))))
(setq i 0)
(while (< i (sslength ss))
(setq ent (ssname ss i))
(setq area (cdr (assoc 40 (entget ent))))
(princ (strcat "\nObject " (itoa (+ i 1)) ": Area = " (rtos area 2 2) " sq. units"))
(setq i (1+ i))
)
(princ)
)

在命令行中输入 APPLOAD 加载此 LISP 脚本,然后输入 ListAreas 命令来列出所有边界对象的面积。

这个 AutoLISP 脚本用于列出选定的 LWPOLYLINE 和 POLYLINE 对象的面积。你提到想将这个脚本转换为 .NET C# 实现。以下是等效的 .NET 实现。

.NET C# 实现

这个 C# 代码使用 AutoCAD 的 .NET API 来实现相同的功能,即列出选定的多段线对象的面积。

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Runtime;

[assembly: CommandClass(typeof(MyCADPlugin.MyCommands))]

namespace MyCADPlugin
{
    public class MyCommands
    {
        [CommandMethod("ListAreas")]
        public void ListAreas()
        {
            Document doc = Application.DocumentManager.MdiActiveDocument;
            Database db = doc.Database;
            Editor ed = doc.Editor;

            // 设置选择过滤器,仅选择 LWPOLYLINE 和 POLYLINE 对象
            TypedValue[] filterList = new TypedValue[]
            {
                new TypedValue((int)DxfCode.Start, "LWPOLYLINE,POLYLINE")
            };
            SelectionFilter filter = new SelectionFilter(filterList);

            // 选择对象
            PromptSelectionOptions opts = new PromptSelectionOptions();
            PromptSelectionResult res = ed.GetSelection(opts, filter);

            if (res.Status != PromptStatus.OK)
            {
                ed.WriteMessage("\nNo objects selected.");
                return;
            }

            SelectionSet selSet = res.Value;
            using (Transaction trans = db.TransactionManager.StartTransaction())
            {
                int index = 1;
                foreach (SelectedObject selObj in selSet)
                {
                    if (selObj != null)
                    {
                        // 获取对象并检查是否为 Polyline 或 Polyline2d
                        Entity ent = trans.GetObject(selObj.ObjectId, OpenMode.ForRead) as Entity;
                        double area = 0;

                        if (ent is Polyline)
                        {
                            Polyline pl = ent as Polyline;
                            area = pl.Area;
                        }
                        else if (ent is Polyline2d)
                        {
                            Polyline2d pl2d = ent as Polyline2d;
                            area = pl2d.Area;
                        }

                        // 输出面积
                        ed.WriteMessage($"\nObject {index}: Area = {area:F2} sq. units");
                        index++;
                    }
                }
                trans.Commit();
            }
        }
    }
}

代码说明

  1. 命令属性:

  • [CommandMethod("ListAreas")] 标记了一个可以在 AutoCAD 中调用的命令 ListAreas

  1. 选择过滤器:

  • TypedValue[] filterList 用于定义选择过滤器,限制用户只能选择 LWPOLYLINE 和 POLYLINE 对象。

  1. 事务管理:

  • Transaction 确保数据库操作可以在失败时回滚。

  1. 计算面积:

  • 对于 PolylinePolyline2d 对象,使用其 Area 属性计算并输出面积。

  1. 输出结果:

  • 使用 Editor.WriteMessage 将每个对象的面积输出到命令行。

使用方法

  1. 编译项目:在 Visual Studio 中编译此项目以生成 DLL 文件。
  2. 加载到 AutoCAD:在 AutoCAD 中使用 NETLOAD 命令加载生成的 DLL。
  3. 运行命令:在命令行中输入 ListAreas,然后选择多个多段线对象,命令会输出它们的面积。

这个 .NET 实现不仅效率高,而且更具可扩展性和灵活性。你可以根据需要进一步扩展该功能。

注意要添加对 AutoCAD .NET API 程序集的引用。

1. 添加 AutoCAD .NET 程序集引用

在 Visual Studio 中:

  1. 右键点击你的项目名称,然后选择“添加引用”。
  2. 在“参考管理器”窗口中,选择“浏览”选项卡。
  3. 找到以下 DLL 文件并添加引用(通常位于 AutoCAD 安装目录下的 Program Files 文件夹中):

  • AcDbMgd.dll
  • AcMgd.dll
  • AcCoreMgd.dll
  • AdWindows.dll(有些功能可能需要) 这些 DLL 通常在路径 C:\Program Files\Autodesk\AutoCAD 202x\ 下。

  1. 添加这些引用后,点击“确定”按钮。

2. 确保使用正确的 .NET Framework 版本

AutoCAD 通常使用 .NET Framework 4.x 版本,确保你的项目目标框架版本与 AutoCAD 兼容。

  1. 右键点击你的项目名称,选择“属性”。
  2. 在“应用程序”选项卡中,检查并设置 目标框架.NET Framework 4.x,例如 4.7.2 或更高。

3. 使用正确的命名空间和引用

在代码文件中,确保使用正确的命名空间:

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Runtime;

4. 编译并测试

现在你可以重新编译项目。编译成功后,使用 NETLOAD 命令加载生成的 DLL 文件到 AutoCAD 中,并执行你创建的命令。

通过这些步骤,Visual Studio 应该能够正确识别并使用 AutoCAD 的 .NET API,从而解决命名空间和程序集引用的问题。




网站如何阻止那些不欢迎的访客IP

方法一:使用 IIS IP 地址和域限制

  1. 打开 IIS 管理器打开“Internet 信息服务 (IIS) 管理器”。
  2. 选择网站在左侧连接栏中,展开你的服务器节点,找到你的 WordPress 网站,点击选择它。
  3. 添加 IP 地址和域限制在中间的功能视图中,双击“IP 地址和域限制”模块。如果没有看到此模块,你需要先安装它:

    • 打开“服务器管理器”。
    • 点击“添加角色和功能”。
    • 在“角色和功能向导”中,导航到“功能”。
    • 勾选“IP 地址和域限制”并安装。

  4. 添加拒绝条目在“IP 地址和域限制”模块中,点击右侧的“添加拒绝条目”。

    • 在“指定条目类型”对话框中,选择“特定 IP 地址”。
    • 输入你要阻止的 IP 地址。
    • 点击“确定”。

  5. 配置默认行为默认情况下,IIS 允许所有 IP 地址访问。你可以通过“编辑功能设置”更改默认行为。如果你只想拒绝特定 IP,而允许所有其他 IP,不需要更改默认行为。

方法二:使用 URL 重写模块

  1. 安装 URL 重写模块确保 IIS 上安装了“URL 重写”模块。可以从 IIS 官方网站 下载并安装。
  2. 打开 IIS 管理器打开“Internet 信息服务 (IIS) 管理器”。
  3. 选择网站在左侧连接栏中,展开你的服务器节点,找到你的 WordPress 网站,点击选择它。
  4. 打开 URL 重写在中间的功能视图中,双击“URL 重写”模块。
  5. 添加规则在右侧操作栏中,点击“添加规则”,选择“空白规则”。
  6. 配置规则

    • 在“名称”字段中输入规则名称,例如“BlockSpecificIP”。
    • 在“模式”字段中输入 (.*) 以匹配所有 URL。
    • 在“条件”部分,点击“添加条件”。

      • 条件输入:“{REMOTE_ADDR}”。
      • 匹配模式输入你要阻止的 IP 地址,例如 192.168.1.1

    • 在“操作”部分:

      • 选择“拒绝”。
      • 设置状态码为“403 禁止”。

  7. 应用规则点击“应用”以保存并应用你的规则。

方法三:使用 Windows 防火墙阻止 IP 地址

  1. 打开高级安全 Windows 防火墙

    • Win + R 打开“运行”对话框。
    • 输入 wf.msc 并按 Enter,打开“高级安全 Windows 防火墙”。

  2. 创建入站规则

    • 在左侧导航栏中,选择“入站规则”。
    • 在右侧操作栏中,选择“新建规则”。

  3. 选择规则类型

    • 选择“自定义”,然后点击“下一步”。

  4. 选择规则应用的程序

    • 在“此规则应用于哪个程序?”界面,选择“所有程序”,然后点击“下一步”。

  5. 指定协议和端口

    • 在“协议和端口”界面,选择“任何”,然后点击“下一步”。

  6. 指定 IP 地址

    • 在“作用范围”界面,选择“这些 IP 地址”下的“远程 IP 地址”。
    • 点击“添加”按钮。
    • 输入 112.66.184.244,然后点击“确定”。
    • 点击“下一步”。

  7. 选择操作

    • 选择“阻止连接”,然后点击“下一步”。

  8. 指定规则应用的配置文件

    • 选择“域”、“专用”和“公用”三个选项,确保规则在所有网络环境下都生效。
    • 点击“下一步”。

  9. 命名和描述规则

    • 为规则输入一个名称,比如“Block IP 112.66.184.244”。
    • 你也可以添加描述以便将来参考。
    • 点击“完成”。

创建出站规则

为了确保出站流量也被阻止,你可以重复上述步骤,但是这次选择“出站规则”来创建一个类似的规则。

验证规则

  1. 测试阻止效果

    • 从阻止的 IP 地址 112.66.184.244 访问你的服务器,确认连接被拒绝。
    • 从其他 IP 地址访问你的服务器,确保正常连接。

  2. 检查活动连接

    • 通过网络监控工具或者 Windows 事件查看器检查被阻止 IP 地址的访问尝试。

通过在 Windows 防火墙中设置规则,你可以有效阻止特定 IP 地址的访问。如果仍然无法阻止,可以考虑在网络边界(如路由器或其他网络设备)上设置阻止规则,以确保全面的网络安全。

方法四:使用wordpress 插件

  1. iQ Block Country
  2. IP2Location Country Blocker
  3. WP GEO Website Protection
  4. Wordfence

测试中走了很多弯路,最后原因竟然是因为自己使用了V-P-N软件,导致记录的IP不准确。




如何在 WordPress 中创建“认识团队”页面

您必须使用创建网站时使用的平台或技术来创建“与团队见面”页面。市场上肯定不乏网站建设平台和技术。 

在本节中,我们将向您展示如何在 WordPress 网站上创建此页面。因此,如果您的网站由 WordPress 提供支持,则以下教程适合您。

步骤 01:安装 Elementor 和 HappyAddons

Elementor 是一款适用于 WordPress 的拖放式页面构建器插件。您可以使用此插件设计从简单到复杂的网站。HappyAddons 是一款功能丰富的 Elementor 插件。

Elementor 有 100 多个小部件和几个有用的功能,而 HappyAddons 则有 130 多个小部件和 20 多个令人兴奋的功能。拥有这两个插件后,您就可以在网站上创造奇迹了。

点击以下链接下载插件并将其安装到您的网站上:

步骤 02:使用 Elementor 打开新页面

使用 Elementor 打开一个新页面。

使用 Elementor 打开新页面

步骤 03:使用团队成员小部件

将团队成员小部件拖放到画布上并进行自定义。

使用团队成员小部件

Team Member 是 HappyAddons 插件的一个免费小部件。使用它,您可以创建一个干净、简单、简约的团队见面页面,如下图所示,类似于 weDevs、Namecheap、Microsoft 和 Authlab 的页面。

团队成员小部件演示

要详细了解如何使用该小部件,请访问团队成员小部件的文档

使用 Team Carousel 小部件,您可以创建复杂的团队见面页面。将其拖放到 Elementor 画布上并进行自定义。

使用团队轮播小部件设计复杂的页面

Team Carousel 是 HappyAddons 插件的一个高级小部件。使用它,您可以创建一个复杂的团队见面页面,如下图所示,类似于 DigitaSilk、Disruptive 和 Dentsu。

团队轮播小部件的演示

要详细了解如何使用该小部件,请访问Team Carousel 小部件文档




如何使用 Elementor 比较表小部件创建比较表

比较表是一种令人印象深刻的方式,可以并排显示多个产品,突出显示其主要功能、图像、规格、价格等。它以有组织的方式清晰地呈现这些信息,帮助客户自信地做出明智的决定。

如果您的网站是使用 Elementor 构建的,您可能正在寻找使用它来创建比较表的方法。但不幸的是,Elementor 没有现成的比较表制作选项。但不用担心,HappyAddons 有一个有趣的比较表小部件可以帮助您克服这一限制。

如果您还不知道,HappyAddons 是一款流行的 Elementor。它有 130 多个小部件和数十种功能,可以进一步增强您的网站。本文将向您展示如何使用 HappyAddons 通过 Elementor 比较表小部件创建产品比较表。

为什么产品比较表对商业网站很重要

产品比较表为您的客户、用户和访问者提供了一种结构化的格式,以便他们研究产品信息以决定购买哪一款。这可以为他们节省大量时间,加快决策过程。

透明、全面的产品比较可以赢得客户的信任。这表明企业没有什么可隐瞒的,并且对自己的产品充满信心。下面是此类产品比较表的示例。

比较表示例
比较表示例

它主要用于电子商务网站,以分享不同的产品型号、图片、功能、价格、描述等。但是,网站所有者也会使用比较表,通过在同一个表下比较竞争对手的产品来证明他们的产品是最好的产品。

它可以帮助客户一眼就找到产品的优点和缺点。利用这种有效的比较表数据,客户可以在几分钟内选择正确的产品并节省宝贵的时间。

HappyAddons 如何帮助创建产品比较表

为什么要使用 Happy Addons 的比较表小工具

确实,您可以使用默认的 Gutenberg 表格块创建表格。但该块缺少创建引人入胜的表格所需的许多高级功能。例如,您无法向默认表格添加任何图像、CTA 按钮、项目符号列表等。

在这种情况下,您必须使用第三方插件,它能够克服这些限制。如果您的网站已经使用 Elementor 设计,为什么还要寻找 Gutenberg 插件?HappyAddons比较表小部件已准备好克服所有这些限制。

此外,这个 Elementor 比较表小部件完全免费。您可以将其与 HappyAddons 精简版一起使用。让我们看看这个小部件如何为您带来好处。

  • 移动友好
  • 涵盖大量预制模板库
  • 在列中添加图像
  • 多种支持图标
  • 提供现成的桌子设计

如何使用 Elementor 比较表小部件创建比较表

现在是教程时间。但在开始教程之前,请确保您的网站上安装了以下插件。

安装并激活这些插件后,使用 Elementor 打开您想要的帖子或页面,然后开始执行以下步骤。您也可以从此 YouTube 教程中遵循此过程。

https://www.youtube.com/embed/aTZt34c_0wA?feature=oembed

我们在本视频中介绍的内容也在下面的讨论中进行了解释。继续阅读!

步骤 1:添加比较表小部件

在 Elementor 面板的搜索框中输入比较表。出现后,将其拖放到您选择的 Elementor 画布区域。

添加比较表小部件

比较表内容区域

添加小部件后,您将获得默认表格设计,如下图所示。内容区域具有管理表格内容所需的设置。

你会在这里得到。

  • 桌头
  • 表格行
  • 表格按钮
  • 表设置
内容对照表

现在,我们将介绍每个设置,以便您可以轻松管理表格内容。

步骤 2:管理表头

表格头选项允许您通过单击添加项目按钮来添加表格的头部项目。您可以复制删除项目。此外,您还可以轻松设置整个表格头内容的对齐方式(左、中和右)和图标位置(左和右)。

表头内容

自定义表头项目

要自定义 Table Head 单个项目,您需要先打开一个项目。然后您可以添加 标题选择标题 HTML 标签,设置内容宽度,插入图标,设置图标颜色,并编写描述

管理表头单项

整个列宽定义为100%。在这里,您会注意到我们将列宽设置为 60(%)。这意味着特征列获得 60% 的空间,而其他两列获得20% 的空间。

您还可以编写描述。首先,打开“描述”选项。然后,您将使用文本编辑器编写描述。我们不需要添加描述,这就是我们没有启用它的原因。

添加固定标题

如果要添加粘性标题,您需要先激活粘性标题选项。然后,每当您向下滚动时,表格标题就会显示在顶部。

如何添加粘性标题

步骤 3:管理表格行

默认情况下,该小部件带有两和两。您可以添加新行并在其中插入所需的列。

要自定义行和列的内容,您需要打开一行或一列,然后根据您的目的更改内容。

内容表行

添加新表行

要添加新的表格行,您需要先单击“添加项目”

之后,您将获得插入行的选项。您必须选择而不是,并将内容类型设置为空白,因为它是一行。无需更改图像大小,因此请保持默认。

但是,您可以在标题、图标图像列中添加三种类型的内容。

表格行起始

添加带标题的列

让我们向您展示如何在一行中添加一列。

首先,您需要通过单击添加项目按钮来添加一个项目。其次,选择列(行/列)并设置内容类型>标题。最后,您可以编写标题的标题。

添加带标题的列

撰写描述

您可以在标题下写一段描述。首先,显示描述选项。然后您将获得文本编辑器面板,您可以按照自己的方式写描述。

撰写描述

我们还添加了两列。这次我们使用了内容类型 > 图标。这是当前的表格视图。

带图标的列

注意:请记住,每当您向某一列添加内容时,内容都会 从右 到 显示。

步骤 4:管理表按钮

转到内容 > 表格按钮区域,然后您可以编写标题并插入按钮的链接。

表格按钮的内容

自定义按钮

您可以添加自定义样式来装饰按钮。首先激活自定义样式。然后,您将获得添加新按钮样式的基本设置。

您可以为按钮添加文本颜色、背景颜色和框阴影。您还可以为悬停按钮添加不同的样式。

自定义表格内容

步骤5:表设置

表格设置区域可让您根据设备设置表格宽度。在平板电脑移动设备视图中,表格项目将可滚动。这样,您就可以控制表格的响应能力。

表设置

第 6 步:样式对照表

样式区域具有自定义表头、表行表按钮所需的样式选项。

风格对照表

使用此小部件,您可以设计这种类型的 Elementor 比较表来并排比较您的产品。

产品比较表的最终输出

设计完比较表的所有部分后,您将获得完美的外观,以有吸引力的方式展示您的产品,包括功能、图像和其他元素。以下是我们今天创建的表格-

带有比较表的产品页面

使用不同的样式选项来制作与您的品牌相符的设计。您还可以查看比较表小部件的完整文档

HappyAddons Pro 的高级比较表小部件介绍

HappyAddons Pro 的高级比较表小部件介绍

我们的免费版比较表小部件在创建复杂的比较表方面有些受限。为了克服这个问题,我们推出了高级比较表小部件。它允许网页设计师创建高度可定制且有吸引力的比较表。无论您是比较产品、服务还是功能,此小部件都提供了广泛的功能来满足您的需求。

查看我们的演示 →

网页设计中比较表的重要性

比较表在网页设计中至关重要,因为它们可以帮助用户快速比较不同的选项并做出明智的决定。它们将复杂的信息分解为易于阅读的格式,从而增强用户体验和参与度。

高级 Elementor 比较表小部件概述

高级 Elementor 比较表小部件概述

HappyAddons 的高级比较表小部件旨在创建详细且具有视觉吸引力的表格。其主要目的是使用户能够并排比较各种元素,提供清晰且结构化的布局。

主要特征

  • 最多可添加 10 列
  • 控制标题图标的位置
  • 可自定义的折叠图标
  • 响应式导航徽章
  • 多样化的内容类型:文本、图标、图像、按钮、定价等
  • 粘性标题

使用 Elementor 创建高级比较表

使用 Elementor 创建高级比较表

从这里开始,我们将指导您充分利用这个强大的小部件。

循序渐进指南

  1. 安装要求:确保您已经安装了 Elementor Free、HappyAddons Free 和 HappyAddons Pro。
  2. 添加小部件:在 Elementor 中搜索高级比较表小部件并将其拖到画布上。
  3. 基本设置:您将看到一个基本的 3 列定价表视图。从内容选项卡的常规设置中添加列(最多 10 列)。
  4. 添加内容:展开每列以添加数据。使用不同的单元格类型(如文本、图标、图像、按钮和定价字段)来填充表格。
使用 Elementor 创建高级比较表的分步指南

定制选项

  1. 列控制:设置每个单元格的列宽和内容。
  2. 图标位置:调整标题图标的位置。
  3. 折叠选项:自定义折叠图标并切换子项的可见性。
  4. 工具提示:如果需要,为每个单元格添加工具提示。 
图片 3

设计和样式选项

探索高级比较表小部件提供的广泛设计和样式选项。自定义颜色、字体和背景,并确保响应式设计以便在任何设备上无缝查看。轻松创建视觉上吸引人且用户友好的比较表。

表格样式

风格化比较表

  • 自定义偶数、奇数和子背景颜色。
  • 调整单元格项目的对齐方式。
  • 设置徽章文本和自定义徽章样式。

配色方案和排版

比较表的配色方案和排版

  • 样式标题、文本、描述、工具提示、图像、图标、定价、按钮和徽章。
  • 使用全局颜色设置保持一致性。

响应式设计功能

响应式设计功能

  • 为移动设备启用响应式导航徽章。
  • 为移动视图设置响应式导航按钮样式。

高级比较表小部件的高级功能

利用动态内容集成、粘性标题动画和高级自定义选项,充分发挥高级比较表小部件的潜力。了解如何利用这些强大的功能增强您的表格,从而获得更具互动性和吸引力的用户体验。

动态内容集成(模板导入)

  1. 使用短代码和动态标签来整合动态内容。

导入 Elementor 模板以获得更精致的外观。

导入 Elementor 模板以获得更精致的外观

  1. 动画效果(粘性标题)

使标题具有粘性,以便在用户滚动时保持重要信息可见。

使标题具有粘性,以便在用户滚动时保持重要信息可见。

这是高级比较表小部件的视频教程。

https://www.youtube.com/embed/sJ_sGEJV8kQ?feature=oembed

阅读我们的完整文档 →

Elementor 比较表的优缺点

让我们深入了解高级比较表的优缺点。 

优点

  • 高度可定制且易于使用。
  • 与 Elementor 无缝集成。
  • 提供多种样式和设计选择。
  • 粘性标题支持
  • 工具提示或描述支持
  • 使用 Elementor 动态标签功能支持短代码
  • 可定制的徽章 
  • 可折叠的表格行
  • 从 Elementor 编辑器面板创建表

限制

  • 比较表中只有 10 列。
  • 需要结构化数据以便于设置。
  • 不支持动态 WooCommerce 产品。

用例和示例

了解如何利用高级比较表进行各种场景,包括产品比较、服务计划评估和功能分析,以增强您网站的用户体验和决策过程。

产品比较

创建详细的产品比较表,帮助客户做出明智的购买决定。以下是使用我们的高级比较表小部件创建的 Apple Watch 型号比较示例。 

图片 9

服务计划比较

比较不同的服务计划,突出每个层级的功能和优势。您可以使用此小部件获得此类高级定价表。 

比较表的多色标题

功能比较

展示您产品的各种特性或功能之间的差异和相似之处。以下是一个例子,

功能比较表

所有共享的演示都是使用我们的高级比较表小部件创建的。 

不要等待立即购买 →

有关如何使用 Elementor 比较表小部件创建比较表的常见问题解答

希望您对本教程感到满意。在本节中,我们将回答一些有关 Elementor 比较表的在线常见问题。

HappyAddons 有多少个表格小部件?

HappyAddons 有四个表格小部件。它们是:1.

数据表
2.

高级数据表
3.

定价表
4.

比较表

我们应该在产品比较表上展示什么?

产品名称、图片、特点、价格、优缺点、评级、CTA 按钮和比较标准(尺寸、颜色和重量)

Elementor 有任何表格小部件吗?

是的,Elementor 有一个名为“价格表”的表格小部件。

我可以导入和导出使用 HappyAddons 创建的比较表吗?

是的。首先,您必须将表格保存为模板。然后,您可以导出模板并将其导入另一个 Elementor 网站。

注意:导入和导出是 Elementor 的一项功能。

HappyAddons 中是否有图表小部件可以显示统计数据?

是的,HappyAddons 有以下图表小部件。1.

条形图
2.

折线图
3.

饼图和猎犬图
4.

极地面积图
5.

雷达图




如何解决 Elementor 编辑器无法加载网站的问题

正在寻找网站上“Elementor 编辑器未加载”问题的解决方案?Elementor 编辑器可能因多种原因而无法加载。您的网络托管服务器问题可能会导致这种情况,缺乏 PHP 内存限制,其他插件冲突等等。

如果您在加载 Elementor 编辑器时遇到问题并想要摆脱它,以下指南将帮助您。

在这篇博客中,我们将向您展示解决 Elementor 编辑器无法加载问题的 7 种可能的方法。

让我们遵循本分步指南。

什么是 Elementor 无加载?

当您命令打开 Elementor Canvas 时,通常需要几秒钟才能打开它。但通常,画布永远不会出现。它会卡在加载页面上,如下图所示。这就是我们所说的 Elementor 不加载的情况。

Elementor 未加载屏幕

这可能会让您感到非常沮丧。但请记住,您可能正在处理画布卡住的原因错误。解决此问题可能很耗时,但确实可以解决此问题。本文的下一部分将揭示解决方案。

修复 Elementor 编辑器未加载错误的 7 种可靠方法

修复 Elementor 编辑器未加载错误的 10 种方法

以下是修复 Elementor 无法加载问题和错误的 7 种可能方法 –

  1. 启用切换编辑器加载器
  2. 检查其他插件冲突
  3. 更新 PHP 版本并增加 PHP 内存限制
  4. 更新 Elementor 最新版本
  5. 检查.htaccess 文件
  6. 增加 Apache 服务限制
  7. 更改当前主题

奖励:使用编码良好的 Elementor 插件可避免任何类型的问题

1. 启用 Switch Editor Loader

由于服务器配置冲突,Elementor 编辑器可能无法加载。Elementor 在其仪表板中为您提供了一个解决此问题的选项。您可以通过转到Elementor > 设置 > 高级区域来修复它。在这里,您需要启用切换编辑器加载器方法。

启用切换编辑器加载器方法

启用此选项后,再次检查问题是否解决。

2.检查其他插件冲突

Elementor 编辑器有时无法工作,这是由于您在 WordPress 网站上使用的其他插件冲突。这就是为什么您应该检查每个插件。您可以停用除 Elementor 之外的所有插件。然后逐个激活并仔细观察哪个插件导致错误。

如果您发现插件,请再次停用它并联系插件公司来解决问题。

检查其他插件冲突

确保所有插件保持最新。因为这是可能导致 Elementor 编辑器加载失败的另一个因素。

3.更新 PHP 版本并增加 PHP 内存限制

由于一些常见的 WordPress 错误(例如未更新服务器的 PHP 版本或增加 PHP 内存限制),您的 Elementor 小部件面板未加载。因此,每当您创建 WordPress 网站时,您都应该更新服务器的 PHP 版本并改善 PHP 内存限制。

要更新您的服务器 PHP 版本,首先登录您的 cPanel 帐户,然后找到选择 PHP 版本并打开它。

选择 PHP 版本

在以下页面中,您将获得更新最新 PHP 版本的选项。

更新 PHP 版本

您可以使用 cPanel 编辑wp-config.php文件来 增加 PHP 内存限制 。登录 cPanel 帐户后,转到 public_html->yourwerbsite->wp-config.php

最后,您需要粘贴下面的代码。

define( 'WP_MEMORY_LIMIT', '256M' );
编辑 wp-config 文件

4.更新 Elementor 最新版本

这不是主要原因,但有时较低版本的 Elementor 插件可能会阻止编辑器加载。因此,最佳做法是使用最新版本的 Elementor,并在需要更新时定期更新。

您可以通过转到仪表板 > 插件 > 已安装的插件区域轻松更新 Elementor 插件。然后找到插件并单击立即更新链接即可完成工作。

更新 Elementor 插件

5.检查.htaccess 文件

.htaccess(超文本访问)文件是 Apache 分布式服务器配置文件,用于设置特定目录的服务器配置。使用此文件,您可以在网站上进行必要的更改,例如错误处理、重定向到特定 URL、用户权限、授权等。

好吧,.htaccess 文件中的错误设置也会导致 Elementor 编辑器面板无法加载。您可以通过创建一个具有默认内容的新 .htaccess 文件来解决此问题。但请确保备份现有的 .htaccess 文件。

查看本指南并了解有关 .htaccess 文件的更多信息

6.增加Apache服务限制

如果您的网站超出了 Apache 服务器的限制,您的 Elementor 编辑器可能无法正确加载。通过将以下代码添加到 .htaccess 文件,您可以增加 Elementor 网站的 Apache 服务器的限制并解决问题。

<IfModule mod_substitute.c>
SubstituteMaxLineLength 30m
</IfModule>
LimitRequestBody 9999999

7. 更改当前主题

与插件一样,您当前激活的主题也可能是 Elementor 加载问题的原因。如果您尝试其他方法但无法解决问题,那么您应该更改当前主题并激活默认的 WordPress 主题。

转到您的网站后端区域仪表板 > 外观 > 主题。然后更改您当前的主题。在这里,您会注意到我们使用了Neve主题,我们需要更改它并激活Twenty Twenty-One主题。

更改当前主题

如果您计划使用 Elementor 创建网站,Elementor 建议使用 Hello Elementor 主题。

阅读有关Elementor Hello 主题的更多信息并了解推荐 Elementor 的原因。

奖励:使用编码良好的 Elementor 插件

快乐附加组件

如果您需要其他 Elementor 插件来设计您的网站,那么您应该选择最好的一个。因为有时,您的 Elementor 编辑器可能由于使用第三方插件小部件和功能而无法加载。

Happy Addons 是 Elementor 的合适插件之一,它帮助全球超过200,000 名用户建立了他们梦想的网站。这个功能强大的插件带有97 多个小部件20 多个解决问题的功能。您还可以获得70 多个预制模板400 多个现成的块,这些块可轻松在您的网站上实现。

为了提供更好的用户体验,Happy 最近改进了其设置向导。通过其仪表板 > 分析功能,您可以高效地管理所有免费和专业小部件。只需单击一下即可打开和关闭未使用的窗口小部件。

因此,请尝试这款代码干净、轻量级的 Elementor 插件,让您的网站像专业人士一样无错误。




12+ 个精心设计的超级菜单示例

在访问电子商务网站时,您可能在菜单栏中看到了很多类别。将鼠标悬停在特定类别上后,您将看到一个包含更多类别的大型下拉菜单。这称为超级菜单

大型菜单是一种网络元素,用于引导用户浏览网站的下级子页面、类别和子类别。大多数大型网站(如电子商务、新闻和酒店)通常都有大型菜单。

大型菜单可改善您网站的用户体验设计,并让用户长时间停留。不过,您也可以将内容块、滑块、图像、图标、视频等添加到现代大型菜单中。

在这篇博客中,我们将向您展示十个不同网站的 10 个结构良好的超级菜单示例。

除此之外,我们还在本文中介绍了以下主题:

  • 为什么以及何时应该使用超级菜单
  • 10 个出色的超级菜单示例
  • 超级菜单最佳实践
  • 如何使用 Elementor 和 Happy Addons 在 WordPress 中创建超级菜单
  • 关于 Mega Menus 的常见问题解答

让我们从基础开始。

为什么以及何时应该在您的网站上使用超级菜单

如果您的网站涉及许多类别和子类别,那么超级菜单将是设置网站导航的正确选择。

超级菜单不仅为您提供了显示基本网站元素的选项,还可以帮助您的网站用户找到所需的数据。因此,它可以改善用户体验。通常,您可以在电子商务、酒店、餐厅和其他处理网页内容的网站中看到超级菜单。

以下是您可能需要使用大型菜单的一些领域。您可以:

  • 为您的电子商务网站创建一个超级菜单
  • 为在线商店显示多种产品类别
  • 使用超级菜单显示博客和杂志网站中的主题和类别
  • 为您的大型企业网站添加超级菜单
  • 设计一个大型菜单,在酒店网站上展示客房和住宿

了解如何在 WordPress 中创建菜单

10 个出色的超级菜单示例

在本博客的这一部分,我们将展示优秀的超级菜单示例。在这里,我们选择了不同类型的网站。这最终有助于您了解超级菜单的不同用例。

  1. 视觉
  2. 滴答声
  3. 我们开发者
  4. 阿迪达斯
  5. 菲格玛
  6. 体位法
  7. 芭比波朗
  8. 易趣
  9. 美食网
  10. 印象笔记
  11. 坎瓦
  12. 维斯梅
  13. Fiverr
  14. 苹果

让我们开始吧:

1. InVision

InVision是一个流行的网站,主要提供项目处理解决方案,将整个工作流系统集中起来。它有一个有组织的超级菜单,链接了许多重要的内部页面。在产品菜单项下,您会看到菜单有三个不同类别下的许多内部页面:产品概述、FreehandFor Teams

InVision 超级菜单

产品菜单项还有一个显示产品更新的选项,您可以在其中找到 InVision 产品的更新。最终,这是一个理想的超级菜单示例,可帮助用户轻松浏览网站。

2. Dribbble

Dribbble是一个流行的市场,设计师可以在这里展示自己的作品。它有一个漂亮的超级菜单设计,可以改善用户体验。在像Marketplace这样的单个菜单项下,你会看到一个带有内部页面链接和页面简短描述的图标。

Dribbble 超级菜单

但是,此菜单有另一个区域显示具体类别。简而言之,这是另一个出色的大型菜单示例。

3. weDevs

weDevs是一家流行的基于 WordPress 产品的公司,开发了一些很棒的产品,包括Dokan Multivendor Marketplace 插件。它带有一个非常干净和简单的超级菜单。您会注意到,在“产品”菜单项下,有多个产品展示,并带有产品徽标和简短的标语。

weDevs 超级菜单

此外,它还提供了查看所有产品的链接,可转到产品页面。它响应迅速,因此您可以在小型设备上轻松使用它。

4.阿迪达斯

阿迪达斯是世界上最受欢迎的运动品牌之一。如果你访问阿迪达斯官方网站并进入菜单区,你会看到他们的超级菜单。它组织得很好。

阿迪达斯超级菜单

3 STRIPE LIFE菜单项下,有 6 个类别,例如“新品”、“合作”、“我们的世界”、“体育”、“原创”和“收藏”。每个类别都有多个内部页面,并以图片开头。

5.菲格玛

Figma是一款流行的设计工具。在他们的网站上,他们使用方便的超级菜单来显示其基本网站内容。他们的超级菜单与其他菜单不同。

Figma 超级菜单

他们在这里使用信息图表来改善用户体验。此外,他们使用实线边框来分隔菜单部分。

6. 体位法

Asana是一个著名的网络和移动工作管理平台,用于管理团队及其工作。这个受欢迎的网站有一个大型的超级菜单。它显示了许多必要的网站内容。

体式超级菜单

Resouces主菜单项下,超级菜单使用两个类别( LEARNCONNECT)显示二维菜单内容。这两个类别都有许多系统列出的内部页面。但是,它还有一个FEATURED READS选项来展示网站的特色博客文章。

7. Bobbi Brown

Bobbi Brown是现代超级菜单的另一个很好的例子。这是一家主要销售化妆品的在线商店。该网站的超级菜单设计非常简单,但令人眼花缭乱。

Bobbi Brown 超级菜单

它通过图片和类别名称显示化妆品。它还注重响应式设计,以便任何人都可以使用手机和平板电脑访问大型菜单。

8. eBay

你们大多数人都熟悉eBay,它是世界上最大的电子商务品牌之一。这个顶级电子商务网站拥有丰富的超级菜单。每个主菜单项下都有一个超级菜单。重点关注时尚菜单。

eBay 超级菜单

在此菜单项下,有一个大型超级菜单,用于展示最受欢迎的类别更多类别。这两个类别有大量子类别,也列为菜单项。但是,它还显示了吸引客户注意力的特色产品。

阅读:eBay:成为全球电子商务业务领导者的神奇旅程

9. 美食网

Food Network是一个餐厅网站,它有一个超级菜单来显示餐厅的菜单。在“食谱”菜单项下,它有一个超级菜单,其中分享了“每日食谱”“热门食谱”

美食网络超级菜单

他们的超级菜单呈现方式非常具有标志性。每个食谱都有一张吸引顾客的图片。但是,它还有一个显示其他食谱列表的选项和一个查看所有食谱的按钮。

了解有关如何使用 WordPress 和 Elementor 创建餐厅网站的更多信息。

10. Evernote

Evernote是一款专门用于项目管理、组织、记笔记、存档和任务管理的工具。该网站有一个令人惊叹的超级菜单来展示其宝贵的功能。

Evernote 超级菜单

这是一个漂亮的大型菜单,带有独特的绿色图标、功能名称和简短的标语。此外,它还有一个查看所有功能链接,可以查看 Evernote 的所有功能。

11. Canva

Canva是一款基于云的流行图形设计工具。实际上,对于无数想要在短时间内完成设计且设计技能较低的用户来说,它是救星。Canva 拥有全面的超级菜单,因为它涵盖了许多功能、选项和页面。

Canva 超级菜单

Canva 超级菜单可引导您设计画布、现成模板、定价计划和教育内容。它还在主菜单下包含子类别。

12. 维斯梅

Visme是另一个基于云的图形设计平台,可替代 Canva。在这里,您也会找到无数的设计选项以及大量现成的模板,您只需很少的技能即可在短时间内完成设计。

Visme 超级菜单

Visme 拥有美观且功能丰富的超级菜单,涵盖大量选项。它包含许多类别和子类别,可引导您找到网站的所有功能、功能和页面。其超级菜单在移动设备和较小的屏幕尺寸上也能完美运行。

13. Fiverr

Fiverr是雇主外包工作的知名平台。数百万自由职业者在那里上传他们的工作,雇主从中寻找他们想要的自由职业者并完成项目。自由职业者现在可以在 Fiverr 上销售各种各样的服务,尽管一开始只有少数几种。

Fiverr 超级菜单

为了给所有这些选项留出空间,Fiverr 必须创建一个大型超级菜单。在这个超级菜单中,您可以找到几乎所有类型的自由职业工作和服务。雇主可以使用这个超级菜单查找各个自由职业者的特定工作并雇用他们。

14.苹果

你几乎找不到一个从未听说过苹果的人。这是一家美国跨国科技公司。它为客户开发和销售软件和电子产品。苹果还维护着一个大型菜单来展示他们的产品、使命、愿景和有价值的信息。

苹果超级菜单

Apple 的超级菜单很简单。虽然不像上面提到的其他菜单那样华丽,但它的超级菜单足以传递网站所需的信息和导航。

5+ 大型菜单最佳实践

根据您的需求,您可以为您的网站创建一个超级菜单。但请确保您的超级菜单设计精良、响应迅速且易于使用。为了使您的超级菜单完美无缺,您应该遵循以下提示。

  1. 保持大型菜单简单易用,方便用户浏览
  2. 专注于响应式设计
  3. 尝试添加图标/图像以使其更具吸引力
  4. 使用单一链接颜色
  5. 避免链接太近
  6. 确保所有菜单项都可同时显示,并跳过滚动
  7. 使用一个触发选项:悬停或单击

奖励:如何使用 Elementor 和 Happy Addons 在 WordPress 中创建超级菜单

过去,为 WordPress 网站创建大型菜单是一场灾难。您需要编写自定义代码、安装第三方插件,有时还需要聘请专家才能正确完成这项工作。

但现在的情况有所不同。您可以使用 Elementor 和 Happy Addons 高效地设计自己的网站超级菜单。

Happy Addons 是流行且快速增长的 Elementor 插件之一,它带有一个非凡的小部件Happy Mega Menu。使用这个高级小部件,您可以实时创建超级菜单。这个拖放小部件允许您将图标、徽章、图像和已保存的 Elementor 模板添加到超级菜单中。

但是,它也专注于响应式设计,因此用户可以使用移动设备或其他小型设备轻松访问您的网站超级菜单。

使用Happy Mega Menu 小部件,您可以创建一个大型超级菜单,如上面的示例 weDevs、Adidas、Dribbble、InVision 等。

还在等什么?让我们观看这个分步视频教程,学习如何在 WordPress 中创建超级菜单

https://www.youtube.com/embed/7qmCZFsDkmg?feature=oembed

阅读 Happy Mega Menu 文档 并了解如何正确使用此小部件。

关于 Mega Menus 的常见问题解答

人们经常在网上询问有关超级菜单的许多问题。在这里,我们回答了一些常见问题,这些问题可能有助于您了解有关超级菜单的更多信息。

1. 什么是超级菜单?

超级菜单是一种大型下拉导航菜单,用于展示网站大量的内部页面链接。它不同于默认的 WordPress 子菜单或下拉菜单。在超级菜单中,您可以添加图标、图像和其他高级功能来装饰您的网站导航区域。

它允许您的网站访问者使用主菜单访问您网站的最深层部分。但是,大型菜单可以提高网站的可用性,帮助推动更多销售,提高转化率,并帮助您的访问者更长时间地浏览您的网站。

2. 如何为我的 WordPress 网站创建超级菜单?

您可以使用超级菜单插件为您的网站创建超级菜单。但如果您是 Elementor 用户,您可以借助 Happy Addons 的 Happy Mega Menu 小部件轻松创建超级菜单。我们已经讨论过这个问题。请关注我们博客的上述部分。

3. 超级菜单对于 SEO 来说是好是坏?

基本上,网站超级菜单不会影响您的网站排名。但它有助于改善您的网站导航。这就是为什么你可以说它对 SEO 有好处。

另一方面,大型菜单的代码主要在显示到您的网站时首先加载。由于大型菜单列出了许多内部页面或其他必要的网页元素,因此会降低您的网站速度。

因此,这对 SEO 不利,因为 Google 会测量页面加载时间来为您的网站 SEO 进行评分。

4. 我应该使用超级菜单吗?

这取决于您的目的。通常,大型菜单用于大型网站,例如电子商务、博客、杂志、新闻等。如果您有这样的网站或大型内容网站,那么您应该使用大型菜单。

5.Mega Menu 可以与 Elementor 配合使用吗?

是的,超级菜单与 Elementor 完全兼容。




如何修复 WordPress 致命错误 – 您应该尝试的 8 种行之有效的方法

WordPress 现在是数百万用户创建网站的首选。其用户友好的界面和可自定义的功能彻底改变了无代码 Web 开发。但与任何其他技术一样,WordPress 也难免会出现问题和错误。

您的 WordPress 网站也可能面临致命错误,这可能会让您感到沮丧。但与任何问题一样,这些致命错误也有解决方案。在这篇博文中,我们将探讨有关此问题的一切,并逐步描述如何修复 WordPress 致命错误。让我们开始吧。

什么是 WordPress 致命错误?

致命错误是一种危急情况,即您的网站出现严重问题,导致其无法正常运行。发生致命错误时,通常会导致死机白屏。这意味着您的网站将变成空白,您无法访问其管理仪表板。

您的网站可能会因各种因素而发生致命错误。例如,不兼容的主题或插件、编码错误、不同配置设置之间的冲突、WordPress 核心文件的问题等。除非正确检查这些错误,否则您可能会丢失所有数据。

常见的 WordPress 致命错误有哪些?

WordPress 网站上通常会发生各种类型的错误。这里,我们列出了 WordPress 网站上可能发生的最常见的致命错误。

常见的 WordPress 致命错误有哪些?

  • 死机白屏

白屏死机是由不兼容的插件或主题等因素造成的。这将导致您的网站出现空白屏幕。

  • 超出最大执行时间

当您的 PHP 脚本执行任何命令花费的时间过长时,您就会遇到此错误。当执行时间超过服务器之前设置的时间时,就会发生这种情况。

  • 插件冲突

当两个或多个插件的代码不兼容或存在功能问题时,您的网站将出现致命错误。您必须识别冲突的插件才能解决此问题。

  • 服务器资源不足

服务器资源不足(例如 PHP 内存或 CPU 资源有限)可能会导致致命错误。

  • 数据库连接错误

由于数据库凭据不正确,您的 WordPress 网站无法与数据库建立连接。

数据库连接错误

  • 语法错误

当代码语法存在错误时,例如缺少分号、括号等,您的网站肯定会出现语法错误。

  • 文件权限问题

如果服务器上的文件和目录的权限不正确,则可能导致致命的 WordPress 错误。本文介绍了如何修复文件权限问题

  • 文件丢失或损坏

丢失或损坏的文件可能会导致致命错误。通过从备份中恢复新文件或重新安装 WordPress,您可以解决问题。

如何修复 WordPress 致命错误?分步指南

您已经知道了导致 WordPress 网站发生致命错误的许多潜在原因。现在我们将列出并解释几种可以修复 WordPress 致命错误的有效策略。让我们来探索一下。

步骤 01:停用所有插件

有时,插件之间可能会发生冲突,从而导致您的网站出现错误。因此,停用插件应该是解决错误的必要第一步。

转到插件 > 已安装的插件。停用所有插件。如果问题得到解决,则可以认为问题出在插件上。

现在,开始逐个安装插件。安装有问题的插件后,问题会立即再次出现。因此,您可以检测到有问题的插件。

解决方案:您现在需要做的是联系插件开发人员并告知他们此问题。除非他们能解决问题,否则请切换到另一个插件。

停用所有插件

步骤 02:切换到默认主题

与插件一样,主题也经常会出现错误问题。有时,您的主题可能会与某个插件冲突。因此,查找此错误的有效方法是将您的网站切换到默认主题,同时停用所有插件。

接下来,安装主题。然后开始逐个安装插件。安装有问题的插件后,冲突会立即重新出现。

解决方案:联系问题主题的开发者。同样,除非他们能解决问题,否则最好换个主题。

切换到默认主题

步骤 03:增加 PHP 内存限制

PHP 内存限制不足会导致致命错误。有多种方法可以增加 PHP 内存限制。最简单的方法之一是通过cPanel 中的MultiPHP INI 编辑器增加内存限制。

打开您的 cPanel。在软件部分下找到 MultiPHP INI 编辑器。打开编辑器。

打开 MultiPHP INI 编辑器

选择您想要配置其 PHP INI 设置的域。

选择您想要配置其 PHP INI 设置的域。

来到upload_max_filesize选项。设置新的最大文件上传大小。向下滚动页面,到达最后。点击应用按钮

cPanel 上传最大文件大小

因此,您可以增加 PHP 内存限制。如果此方法在您的 cPanel 上不起作用,请按照有关如何增加 PHP 内存限制的指南探索更多方法。

步骤04:清除缓存文件

缓存文件是存储在用户浏览器服务器中的网络数据的临时副本。它们有助于提高页面加载速度,因为页面不需要每次请求时都从头加载。如果它们错误地包含服务器中的任何错误文件,它可能会显示致命错误,直到删除这些文件。

清除缓存文件非常简单。安装缓存插件。我们安装了 WP Fastest Cache 插件来解释这一部分。如果您没有该插件,请在您的网站上安装该插件。

在你的网站上安装 WP Fastest Cache 插件

转到WP Fastest Cache > 删除缓存。您会看到两个按钮。单击您想要的按钮以清除缓存文件。

WP 最快缓存

步骤 05:删除并重新添加核心 WordPress 文件

您的问题现在应该已经解决了。如果没有,您可以尝试删除并重新添加 WordPress 核心文件。

* 保留备份

在执行此步骤之前,请确保备份了整个网站及其数据库。登录到您的 cPanel。转到备份选项并单击它。

保留您的网站备份

点击下载完整帐户备份按钮。这将下载您网站的备份。

下载您网站的完整备份

* 删除旧的 WordPress 文件

转到cPanel 上的文件管理器。

进入文件管理器

您的 cPanel 可能托管多个网站。因此,选择要删除并重新添加其核心 WordPress 文件的特定域。

输入域名后,选择除 wp-content和wp-config之外的所有文件。选择所有文件后,点击“删除”按钮。

删除核心文件

勾选复选框以永久删除所有文件。按确认按钮

永久删除所有文件

* 下载 WordPress

前往下载 WordPress。点击下图所示的标记按钮下载 WordPress 文件。

下载 WordPress 文件

* 上传 WordPress 文件

单击上传按钮

上传 WordPress 文件

选择 WordPress 文件

选择 WordPress 文件

文件将在几秒钟内上传。完成后,单击选项“返回”/home/…….com

上传WordPress文件后返回文件管理器。

* 在文件管理器中提取 WordPress Zip 文件

右键单击 Zip 文件。将打开一个列表。在列表中选择“提取”选项。

在文件管理器中提取 WordPress Zip 文件

解压后的文件将保存到 WordPress 文件夹中。删除 Zip 文件,因为不需要它。然后,转到 WordPress 文件夹

转到解压的文件

选择除wp-contentwp-config之外的所有解压文件。因为 wp-content 和 wp-config 已经在主文件夹中可用。

之后,点击移动选项。输入要移动文件的文件路径。只需将其重命名为您的域名即可。最后,点击移动文件按钮

选择所有提取的文件并移动它们

所有文件都将移动到您的主域文件夹。删除 WordPress 文件夹,因为不再需要它。

文件已移动

因此,您可以删除并重新添加核心 WordPress 文件。

步骤 06:使用错误检查插件

WordPress.org 上有许多错误监控插件,如果它们发现您的网站存在致命问题,它们会立即通知您。通过安装任何这些插件,您可以收集有关错误及其解决方法的更多信息。

如果您愿意,即使网站出现错误,您也可以安装任何这些插件。但很多时候,问题发生后也可能无法再安装任何插件。因此,为了谨慎起见,最好事先安装任何此类插件。

其中一些插件是:

步骤 07:扫描并从您的网站中删除恶意软件

从您的网站删除恶意软件

恶意软件是指旨在利用您的网站,使其易受安全威胁的恶意代码或软件。通常,网络黑客会将恶意软件文件和代码注入您网站的数据库、文件和插件/主题中。

他们这样做是为了未经授权访问您的网站,窃取敏感信息。每当 Google 意识到某个网站遭到黑客攻击时,它就会通过搜索控制台发送信号。此外,您的网站也会停止运行。

我们已经就该主题发表了一篇详细的文章。阅读这篇文章,了解如何从 WordPress 网站中删除恶意软件

步骤 08:连接您的托管服务提供商

如果上述所有步骤都无法解决您的致命错误,建议您联系您的托管服务提供商。如果您订阅了任何知名的托管服务提供商,他们一定会为您提供所有类型的托管和维护相关帮助。

特别是,他们是解决可能导致您的网站出现致命错误的服务器相关问题的专家。

最后的注释!

任何网站都可能出现问题和错误。这些问题甚至经常发生在全球知名和大型网站上。但他们拥有一支专业的技术团队,因此他们可以快速自行克服所有问题。




如何在 Elementor 中为网页设计添加重叠背景

Elementor 是一款领先的 WordPress 页面构建器插件,它使网页设计变得前所未有的简单。其突出的功能之一是背景覆盖选项。通过正确利用该功能,您可以将网站的吸引力和美感提升到一个新的水平。

Elementor 为您提供了多种背景叠加选项。在本文中,我们将向您展示每个选项的分步指南。那么,让我们开始了解如何在 Elementor 中添加背景叠加以进行网页设计的文章。

什么是 Elementor 背景覆盖?

背景叠加层是半透明的图层,可添加到现有背景图像、图案或颜色之上。您可以使用不同的颜色、不透明度、渐变甚至图案自定义叠加层,以创建令人惊艳的视觉效果。

背景叠加是 Elementor 插件的一项核心功能,内置于插件中。免费版和付费版均可使用。当使用低质量图像或在任何背景顶部展示文本时,此功能特别有用。

Elementor 背景覆盖的类型

您可以在 Elementor 中添加三种类型的背景覆盖。 它们是:

1. 纯色覆盖:它只是向网页部分或元素添加纯色覆盖。您可以通过选择纯色及其不透明度级别来自定义此覆盖。

2. 渐变色叠加:渐变允许您向任何网页部分或元素的背景添加多色叠加效果。希望您已经知道什么是渐变。或者等一下,我们将在本文后面讨论它。

3. 图像叠加:此功能可让您在图像上应用纯色、纹理或图案叠加,以增强其吸引力。

特别说明关于 Elementor 背景覆盖

Elementor 中的背景覆盖选项允许您仅将覆盖添加到小部件背景,而不是内容背景。

Elementor 背景覆盖到小部件背景

您需要一个额外的插件(例如 HappyAddons)才能将叠加效果直接添加到内容背景

Elementor 背景叠加到内容背景

因此,如果您的网站上同时安装了 Elementor 和 HappyAddons,则可以在需要的地方使用合适的背景覆盖选项。让我们探索这些方法。

方法一:如何在 Elementor 中向小部件背景添加覆盖

正如我们已经说过的,您可以在 Elementor 中添加三种类型的背景覆盖。现在我们将向您展示如何将所有这些类型的背景覆盖添加到 Elementor 小部件。

类型 01:向 Elementor 小部件添加纯色背景覆盖

希望您的部分和内容已准备就绪。单击整个部分的“编辑容器”图标

转到样式选项卡。您将获得两个选项:背景背景覆盖。使用这两个选项,您可以将背景覆盖添加到 Elementor。

转到 Elementor 背景覆盖选项

例如,打开“背景”。选择“画笔”图标。下面,您将看到“颜色”选项,通过它可以为背景添加纯色。

在 Elementor 中添加纯色背景覆盖

您可以看到我们已经为小部件部分的背景覆盖选择了一种颜色。

选择背景覆盖的颜色

类型 02:向 Elementor 小部件添加渐变色背景叠加

再次选择该小部件。转到“样式”选项卡。展开“背景”选项

选择背景类型旁边的渐变选项。您将看到其下方出现更多颜色选项。

现在,选择主色辅色来创建渐变调色板。您将看到颜色作为背景叠加层显示在小部件上。

向 Elementor 小部件添加渐变色背景覆盖

因此,您可以为小部件背景创建渐变色背景叠加层。渐变中还有许多其他选项。希望您可以自己探索和使用它们。

类型 03:向 Elementor 小部件添加图像背景覆盖

对于图像叠加,您可以将图像和纯色领子组合使用。通过使用纯色与图像相结合,您可以创建完美的对比,以便上面的内容更清晰可见。让我们看看如何做到这一点。

转到样式选项卡。展开背景覆盖选项。单击图像选项。您可以从本地驱动器或媒体库中选择和添加图像。

转到 Elementor 背景覆盖中的图像选项

您可以看到我们已将图像添加到背景叠加层。接下来,选择合适的位置,使其与内容完美契合。

图像已添加到 Elementor 背景覆盖选项

展开“背景”选项。接下来,选择与图像相配的合适纯色。您会看到图像上已添加一层。

为图像叠加层添加纯色

转到背景覆盖选项

再次转到背景叠加选项

向下滚动 Elementor 面板进入混合模式。单击右侧的图标。它将打开混合模式列表。

进入混合模式

通过浏览列表中的所有混合风格来选择您喜欢的风格。您将在图像上看到效果。

选择混合模式

您可以看到背景覆盖和文本颜色几乎相似。这就是为什么我们更改了文本颜色以在它们之间形成对比,从而使文本具有高度可读性。

在背景覆盖和文本之间创建对比

因此,您可以将背景覆盖添加到 Elementor 小部件的背景。

方法二:如何在 Elementor 中向内容背景添加覆盖

将内容叠加在背景上的过程与上面的方法完全相同。这是HappyAddons 插件的免费功能。如果你还不太了解该插件,请探索一下HappyAddons 是什么

简而言之,HappyAddons是 Elementor 插件的一个令人兴奋的插件。它带有 120 多个附加小部件和 20 多个功能。使用它们,您可以克服 Elementor 的限制并为您的网站添加更多令人兴奋的功能。

那么,HappyAddons 中的背景覆盖选项在哪里?选择内容小部件。转到高级选项卡。您将在此选项卡下看到背景和背景覆盖选项。

HappyAddons 中的背景叠加选项

可以看到这两个选项的名字和 Elementor 的两个选项的名字一模一样,而且它们的工作流程也是一样的,下面我们来探究一下。

类型 01:为添加的内容添加纯色背景叠加

选择内容小部件。转到Elementor 面板上的“高级”选项卡。展开“背景”选项

选择纯色。您会看到该颜色已应用于内容的背景。

为 Elementor 内容背景添加纯色背景覆盖

类型02:为添加的内容添加渐变色背景叠加

与上述方法类似,在“背景”下选择“渐变”选项设置主色次色。调色板将显示在 Elementor 画布上的内容后面。

为添加的内容添加渐变色背景叠加

类型 03:为添加的内容添加图像背景覆盖

选择内容小部件。转到“高级”选项卡

展开背景覆盖选项。单击图像区域

将图像背景覆盖添加到 Elementor 内容

您将能够按照上述方法从本地驱动器或媒体库添加图像。希望您也可以在这里这样做。

图像背景覆盖已添加到 Elementor 内容中

现在文本颜色已更改,以使文本内容在背景上突出。希望这能让内容变得更好,更易读。

更改文本颜色

因此,您可以在 Elementor 中为您的内容添加图像背景覆盖。

注意: Elementor 插件通常会使网站速度稍微变慢。但有很多方法可以加快此类网站的速度。探索如何优化网站速度

最后的注释!

如今,添加背景覆盖已成为大多数专业网站设计师的常见做法。这是一个简单易用的网页设计功能,但功能强大,可让您的网页部分和内容变得华丽而令人兴奋。

几年前,使用 HTML 和 CSS 语言创建背景覆盖确实非常困难。但 Elementor 使其变得灵活,这一点在 HappyAddons 插件中得到了进一步的提升。希望通过关注这篇博文,您现在能够在您的网站上创建引人入胜的背景和内容覆盖。




centos主机上安装elastic IK中文分词服务

  1. 删除插件目录进入Elasticsearch的plugins目录并删除analysis-ik插件目录:sh复制代码rm -rf /usr/local/elasticsearch/plugins/analysis-ik
  2. 再次安装插件确保下载的插件文件路径正确,然后再次尝试安装插件:sh复制代码/usr/local/elasticsearch/bin/elasticsearch-plugin install file:///path/to/download/directory/elasticsearch-analysis-ik-7.6.0.zip
  3. 重启 Elasticsearch安装完成后,重启Elasticsearch:sh复制代码systemctl restart elasticsearch

如果问题依然存在,请确保插件目录已经清理干净,可以尝试删除整个plugins目录:

rm -rf /usr/local/elasticsearch/plugins mkdir /usr/local/elasticsearch/plugins

手动下载插件

先在浏览器中打开下载链接手动下载插件到本地机器上:

下载链接

或者使用wget命令下载:

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.0/elasticsearch-analysis-ik-7.6.0.zip -P /path/to/download/directory

安装插件

假设你下载到的目录是/path/to/download/directory,使用以下命令安装:

/usr/local/elasticsearch/bin/elasticsearch-plugin install file:///path/to/download/directory/elasticsearch-analysis-ik-7.6.0.zip

重启 Elasticsearch

systemctl restart elasticsearch

要查看 Elasticsearch 是否安装并运行了 IK 分词器以及其他插件,可以使用以下步骤:

1. 列出已安装的插件

使用 Elasticsearch 插件管理命令列出已安装的插件:

bash复制代码/usr/local/elasticsearch/bin/elasticsearch-plugin list

这将显示所有已安装的插件。如果 IK 分词器已安装,它会出现在列表中,通常为 ik.

2. 检查 IK 分词器是否正常运行

安装了 IK 分词器后,可以通过索引测试数据并使用 analyze API 检查它是否在工作。

首先,发送一个请求来分析一段中文文本,使用 IK 分词器:

bash复制代码curl -X POST "localhost:9200/_analyze" -H 'Content-Type: application/json' -d'
{
  "analyzer": "ik_max_word",
  "text": "中华人民共和国国歌"
}'

此命令会返回分词结果。如果 IK 分词器工作正常,你将看到类似以下输出:

json复制代码{
  "tokens": [
    {
      "token": "中华人民共和国",
      "start_offset": 0,
      "end_offset": 7,
      "type": "CN_WORD",
      "position": 0
    },
    {
      "token": "中华",
      "start_offset": 0,
      "end_offset": 2,
      "type": "CN_WORD",
      "position": 1
    },
    {
      "token": "人民",
      "start_offset": 2,
      "end_offset": 4,
      "type": "CN_WORD",
      "position": 2
    },
    {
      "token": "共和国",
      "start_offset": 4,
      "end_offset": 7,
      "type": "CN_WORD",
      "position": 3
    }
  ]
}



让Excel和Word谈一场浪漫的“联动”恋爱

对于广大Office职场人士而言,Excel与Word是办公软件中的双璧,分别在数据处理与报告撰写领域展现出无可比拟的专长。以造价工程师为例,他们需要在Excel中精确处理各类造价数据的比对分析,然后在Word中巧妙地将这些数据应用于编写审核说明等文书。在这一过程中,频繁的Excel数据更新常常迫使人们在Word中手动调整数据,导致“顾此失彼”现象的屡见不鲜。若能实现数据联动,将极大地降低出错的几率,使工作流程更加高效和精准。这样不仅节省了时间,还提高了工作的准确性和可靠性,让办公变得更加轻松愉快。

下面说明如何进行Excel数据与Word的联动:

为了实现Excel文档中的某个单元格数字自动填入Word文档中的指定位置并保持联动,你可以使用Office中的“链接和嵌入对象(OLE)”功能。以下是详细的步骤说明:

步骤1:在Excel中创建数据

  1. 打开Excel文件并定位到你需要的数据单元格。
  2. 确保数据单元格已经填入你需要的数字。

步骤2:复制Excel单元格

  1. 选中需要的单元格。
  2. 按下 Ctrl+C 进行复制。

步骤3:在Word中粘贴链接

  1. 打开Word文档并定位到你希望插入数据的位置。
  2. 在Word中,选择 “开始” 选项卡。
  3. 点击 “粘贴” 下拉菜单。
  4. 选择 “选择性粘贴” 选项。
  5. 在弹出的对话框中,选择 “链接和合并格式”,然后点击 “确定”

步骤4:在Excel数据变动后更新Word

为了确保在Excel中更改数据后,Word文档中的链接自动更新,你可以使用以下方法来手动更新所有链接,但更为高效的方法是通过Word中的“更新链接”功能来一次性更新所有链接。

方法一:手动更新所有链接

  1. 打开Word文档。
  2. Ctrl + A 选中整个文档。
  3. F9 键,Word会自动更新所有链接的内容。

方法二:使用Word的“链接和嵌入对象”功能

  1. 在Word中,点击 “文件” 菜单。
  2. 选择 “信息”
  3. 点击 “编辑链接到文件” 选项(在“准备共享”部分下)。
  4. 在弹出的对话框中,选择需要更新的链接,然后点击 “全部更新”

方法三:自动更新链接

为了确保每次打开Word文档时自动更新链接,可以启用自动更新选项。

  1. 在Word中,点击 “文件” 菜单。
  2. 选择 “选项”
  3. 在“Word选项”对话框中,选择 “高级”
  4. 滚动到“常规”部分,确保选中 “打开时更新自动链接” 选项。

这样做的好处

  • 数据将会保持链接,当Excel中的数据改变时,Word文档中的数据也会自动更新。

注意事项

  • 确保两个文件的存储路径不发生改变,否则链接可能会断开。
  • 如果你需要发送Word文件,最好也发送Excel文件,并保持它们的相对路径。



免费的远程访问利器-RustDesk 自建服务部署和使用教程(可以不需要自己的服务器)

一觉醒来,想打开ToDesk看看公司电脑的,发现不能使用了,需要付费。于是就动了自建远程服务器的心思。

图片

综合来看,RustDesk 是一个强大的开源远程桌面软件,是中国开发者的作品,它使用 Rust 编程语言构建,提供安全、高效、跨平台的远程访问体验。可以说是目前全球最火的开源远程桌面软件了,GitHub 星星数量达到了惊人的 64k!于是就选她了。

图片

与 TeamViewer、ToDesk 等专有远程访问解决方案相比,RustDesk 作为一个开源软件,提供了几个显著的优势:

  1. RustDesk 完全免费使用,没有任何隐藏费用或订阅计划。
  2. 由于其开源特性,RustDesk 的代码是透明的,可以由社区审计,从而提供更高的安全性和可信度。
  3. RustDesk 使用 Rust 语言开发,从根本上确保了程序的内存安全和高性能。

然而现在有一个坏消息:由于被诈骗分子频繁使用,该项目现已暂停国内服务。

作者原话:

为了进一步应对诈骗,我们暂时决定停止中国地区的服务,如果用户现在通过公共服务器访问国内主机,将会收到被禁止的消息。

官网首页也挂出了警告信息:

作者在开源中国上发布了公告,主要是因为诈骗分子通过短信链接的方式让老人下载 App,然后实施手机银行的指挥操控,受害者被骗金额巨大,对家庭造成极大的损害。

为了进一步应对诈骗,他们暂时决定停止中国地区的服务,如果用户现在通过公共服务器访问国内主机,将会收到被禁止的消息

只能说很无奈。

好在 RustDesk 有一个很关键的特性就是它允许用户自建服务器,从而在使用 RustDesk 时获得更多的控制权和隐私保护。所谓自建服务器,也就是自建 ID Server 和 Relay Server,至于什么是 ID Server 和 Relay Server,下面我们会给大家详细介绍,并提供一步步的指南来帮助你设置自己的 ID Server 和 Relay Server。RustDesk 架构概述

要理解自建服务器的重要性,首先需要对 RustDesk 的架构有一个全面的了解。RustDesk 采用了经典的客户端-服务器模型,其中涉及三个主要组件:RustDesk 客户端、RustDesk 服务器和 ID Server。

图片

  1. 客户端-服务器模型在 RustDesk 的架构中,客户端是运行在用户设备 (如笔记本电脑、平板电脑或智能手机) 上的应用程序。它提供了一个图形界面,允许用户发起远程访问请求并与远程计算机进行交互。另一方面,服务器组件运行在要远程访问的目标计算机上。它负责监听来自客户端的连接请求,并在建立连接后向客户端发送屏幕更新和接收输入事件。
  2. ID Server 的角色ID Server 在 RustDesk 的生态系统中扮演着重要的角色。它的主要职责是促进客户端和服务器之间的初始连接建立。当 RustDesk 服务器启动时,它会连接到 ID Server 并注册自己,提供如服务器 ID 和公网 IP 地址等信息。类似地,当客户端想要连接到特定的 RustDesk 服务器时,它会向 ID Server 查询目标服务器的连接信息。ID Server 维护了一个已注册的 RustDesk 服务器目录,并充当客户端和服务器之间的中介,帮助它们建立直接的点对点 (P2P) 连接。一旦客户端从 ID Server 获得了服务器的连接信息,它就可以尝试直接连接到服务器,而无需进一步通过 ID Server 中继数据。
  3. Relay Server 的角色在某些网络环境下,RustDesk 客户端和服务器可能无法直接建立 P2P 连接,例如当它们位于 NAT (网络地址转换) 或防火墙后时。为了克服这一挑战,RustDesk 引入了 Relay Server。如果客户端无法直接连接到服务器,它会向 ID Server 请求一个 Relay Server。然后,客户端和服务器都连接到指定的 Relay Server,并通过它来中继所有的网络通信。Relay Server 在这种情况下充当客户端和服务器之间的桥梁,转发来自一方的数据包到另一方。值得注意的是,即使通过 Relay Server 进行通信,RustDesk 也会维护端到端加密,确保中继服务器无法访问明文数据。Relay Server 只是盲目地转发加密的数据包,而不能查看或修改其内容。

自建服务器

RustDesk ID Server 与 Relay Server 目前支持多种方式部署,可以在 Linux 和 Windows 中使用二进制直接部署,也可以使用 Docker 部署,具体可参考 RustDesk 的官方文档。

如果您不想折腾,或者不懂什么 Docker 之类的,那也没关系,Sealos 应用商店提供了一键部署的应用模板,点一下鼠标即可完成部署,非常丝滑。

由于 RustDesk 是使用 Rust 编写的,所以非常高效,并发也很强,实际测试下来,1C1G 的配置就可以给一整个小型团队使用了。Sealos 的应用模板默认给了最小配置 0.2C128M,个人使用完全足够了。如果您需要给多个人使用,可以随时调整配置,因为 Sealos 是按量付费的,你想怎么调就怎么调,想什么时候调就什么时候调,非常酸爽。

我们再来看看大家比较关心的价格:

图片

默认最小配置每天只需要 0.12 元,根据按量付费的机制我们还可以更省钱。所谓按量付费,就是用多少付多少,这里的 “用多少” 指的是你用了多少 CPU、内存、存储等资源,那么如果我不用的时候把它暂停,用的时候再启动,每天只需要 0.01 元 (因为暂停状态下不占用 CPU 和内存,只占用存储)。

如果你是整个团队在使用,不想频繁的暂停和启动,也可以通过别的办法来省钱,比如设置一个定时任务,白天开启,夜里暂停,也可以省一半的钱。

再加上外网端口的费用,每天预计花费在 0.1~0.2 元之间

好,说完了价格,如果你心动了,或者觉得可以一试,那么接着往下看教程。

直接打开 RustDesk 应用模板,然后点击右上角的 “去 Sealos 部署”。

如果您是第一次使用 Sealos(https://sealos.run/),则需要注册登录 Sealos 公有云账号,登录之后会立即跳转到模板的部署页面。

跳转进来之后,你会看到有一个变量 ENCRYPTED_ONLY,你可以选择 1 或者 0。为了隐私和安全,强烈建议选择 1,这样就开启了强制加密,只允许建立加密连接,不容易被别人白嫖

设置完成后,点击右上角的 “部署应用” 开始部署,部署完成后,直接点击应用的 “详情” 进入该应用的详情页面。

图片

点击 “日志” 按钮查看日志:

图片

日志中可以找到两个关键信息:外网域名公钥。后面需要用到。最新版的安装后会是Private/public key written to id_ed25519/id_ed25519.pub,那就需要到文件管理里查找相关的文件查看key.

图片

在 “应用商店”-> “我的应用” 中找到 RustDesk,点进去:

图片

在 Others 中分别找到 21116 端口和 21117 端口映射的外网端口,21116 是 ID Server 的端口,21117 是 Relay Server 的端口。例如我这里的 ID Server 外网端口就是 30032,Relay Server 外网端口是 30325。

图片客户端设置

分别在控制端和被控制端的电脑安装 RustDesk,下载地址:https://rustdesk.com/zh/

安装完成后,打开 RustDesk,点击上面的三个点,进入配置:

图片

找到网络配置:

图片

先解锁网络设置,然后在 ID 服务器中输入你的 <外网域名>:<ID Server 外网端口>,在中继服务器中输入你的 <外网域名>:<Relay Server 外网端口>,在 Key 中输入你的公钥。

例如我这里的 ID 服务器就是 brffleiu.bja.sealos.run:30032,中继服务器是 brffleiu.bja.sealos.run:30325,Key 是 LNS+q8OA02k7CH+TbzO1EzikNYsFS52YiMNi3pmz56k=

可以点右上角的导出配置到剪贴板上,再到另一个客户端粘贴即可。比如我的配置就是类似下面的字符串==Qfi0zdwZTMoRme2VUQ2N0VXh3MKlzbNFUbxNTavZlahRHOOV0M5IFbpRXQPlEciojI5V2aiwiIiojIpBXYiwiI1MjMwMjOuVncuM3bsFWZz5SYqJmLtVHZxZmepZmI6ISehxWZyJCLicDOxkzM64Wdy5ycvxWYlNnLhpmYu0WdkFnZ6lmZiojI0N3boJye

图片

最后点击 “应用” 就可以了。

⚠️ 注意:控制端和被控制端都设置使用相同的 ID 服务器、中继服务器和 Key,才能正常进行远程控制。

总结

本文深入探讨了 RustDesk 的架构、自建 RustDesk 服务器(ID Server 和 Relay Server)的好处以及具体的自建步骤,虽然需要一点额外的工作,但收获了很多好处,比如安全性和隐私性。

随着远程工作和协作变得越来越普遍,拥有一个安全、高效、灵活的远程访问解决方案变得至关重要。通过自建 RustDesk ID Server 和 Relay Server,你可以获得一个量身定制的解决方案,以满足您独特的需求。




如何在 Elementor 中启用安全模式

值得庆幸的是,Elementor为我们提供了安全模式。您在尝试使用 Elementor 进行编辑时是否遇到过空白页(死机白屏)?您的小部件侧边栏消失了吗?您的编辑器是否无休止地加载?您是否完全无法访问 Elementors 编辑功能?别担心!安全模式可以为您提供帮助。我们最喜欢的WordPress页面构建器插件背后的团队已使其用户能够非常轻松地进行故障排除。让我们看看如何启用安全模式以及可以通过它完成哪些工作。

什么是 Elementor 安全模式?

本质上,安全模式创建了一个受保护的环境,将 Elementor 和 WordPress 与主题和插件隔离开来。在大多数情况下,主题和插件之间的冲突是网站出现意外错误的原因。安全模式可让您确认主题和插件停用后问题是否仍然存在。反过来,它允许您识别可能的原因并诊断问题的根源。

Elementor 安全模式

请记住,安全模式也会停用Elementor 实验。这是一个需要注意的重要问题,特别是如果您喜欢测试 Elementor 功能的 alpha/beta 版本并喜欢参与测试/反馈过程。

启用安全模式

让我们回顾一下,向 Elementor 背后的团队致敬,感谢他们设计精美的用户界面。每个功能都很容易找到,并且有一个简短的描述。当然,这也包括安全模式。

首先,在 WordPress 仪表板中找到 Elementor 菜单栏。

元素

其次,在下拉菜单中,找到工具设置按钮并点击它。

Elementor 工具设置

第三,在常规设置选项卡中找到安全模式选项并将其设置为“启用”。不要忘记按“保存更改”按钮,以授权在您的网站上使用安全模式

Elementor 安全模式工具设置启用

恭喜!您已成功启用安全模式,可以开始进行故障排除。

请记住,只有具有管理员权限的用户才能激活安全模式,因为只有管理员才能安装和停用插件。如果安全模式设置未显示在您的仪表板中,则您需要请求站点管理员启用它并代替您解决问题。

值得注意的是,Elementors安全模式仅影响在 Elementor 编辑器中操作的登录用户。网站访问者不会受到任何影响,因为网站正常运行,主题和插件均已激活。

使用安全模式进行调试

启用安全模式后,是时候开始寻找问题的根本原因了。众所周知,Web 开发中的错误可能无缘无故出现,而潜在的问题可能隐藏在冲突的代码后面。因此,必须了解 WordPress 网站的哪些元素具有冲突性质以及如何确定这些罪魁祸首。一个好习惯是记住一个松散的列表,其中包含潜在的错误预兆及其可能的解决方案。让我们回顾一下在 Elementors安全模式下调试时要检查的一些关键事项:

  • 插件问题。停用除 Elementor 和 Elementor Pro 之外的所有插件。如果停用后问题得到解决,请逐个激活您的插件,以了解哪个插件导致了问题。
  • 切换主题。您可以切换到默认主题之一,例如“Twenty Seventeen”或“Twenty Sixteen”。它可以帮助您了解主题是否在代码中产生了问题。
  • 验证永久链接的语法是否正确。您应该尝试将永久链接结构设置为“纯文本”,然后再次保存您的永久链接。请记住,某些服务器禁止修改 .htaccess 文件,并且并不总是能够调整永久链接结构并使用 Elementor 进行编辑。
  • 尝试通过浏览器中的隐身模式进行编辑。这可以消除与浏览器缓存或附加组件相关的冲突的可能性。记得刷新页面。
  • 查看与会员资格可能存在的冲突。Elementor 页面与会员插件结合使用可能会干扰页面的权限设置。
  • 解决潜在的主题冲突。不幸的是,如果您不具备丰富的编码知识和各种数据库的内部工作原理,您将无能为力。您应该查看主题文档,并在必要时联系主题支持团队。请他们验证您的布局中是否使用了 WordPress 默认循环。
  • 确定错误是否与Rocket Loader无关。Elementor 和 Cloudfare 极少(很少)遇到问题,但 Cloudfare Rocket Loader 存在问题。它源于 Rocket Loader 自动将脚本更改为异步加载,从而导致网站崩溃。您可以通过在 Cloudflare 中为 Elementor 页面和模板创建规则来解决这个问题。查看 Cloudfare 的官方文档。
  • 确认页面上没有重定向。
  • 查找潜在的托管问题。向主机提供商确认您的 WordPress 安装是否包含 .htaccess 文件。同样,向托管公司确认服务器是否删除了 PHP $_GET 变量。
  • 删除通过 HTML 小部件添加的任何自定义JavaScript代码。Navigator 是实现此目的的有用工具。

老实说,如果您已经浏览过此列表但问题仍然存在,那么我们建议您在Elementor 社区论坛中寻求答案。帮助中心、常见问题解答、Elementor 学院和社区论坛是实现此目标的绝佳资源。如果您拥有 Elementor Pro,那么您应该考虑将网站登录详细信息发送给 Elementors 支持团队。它们在确定问题的根本原因方面总是有帮助和建议的。

Elementor 社区

最后的话

调试可能是一个繁琐且耗时的过程。令人高兴的是,Elementors安全模式为用户提供了有效诊断根本原因并实施适当解决方案的能力。在整个创建过程中,请注意网站中可能出现的冲突。我们希望您在 Web 开发领域拥有无错误的旅程,我们希望您不必过于频繁地使用安全模式。请继续关注更多文章,加油!

经常问的问题

在 Elementor 中启用安全模式会以任何方式影响我的网站的性能或速度吗?

在 Elementor 中启用安全模式通常不会直接影响您网站的性能或速度。安全模式主要用于通过暂时禁用其他插件或主题来帮助诊断冲突,让您能够解决问题而不会影响实时网站的性能。

是否存在建议或不建议启用安全模式的特定场景或情况?

当您遇到 Elementor 问题(例如布局问题或与其他插件或主题冲突)时,启用安全模式会很有用。它在解决仅在使用 Elementor 时发生的问题时特别有用。但是,对于常规编辑任务或网站维护,并不总是需要启用安全模式。

在 Elementor 中启用安全模式会影响我的网站上使用的第三方插件或小部件的功能或外观吗?

在 Elementor 中启用安全模式会暂时禁用其他插件和主题,这可能会影响您网站上依赖这些插件或主题的元素的外观或功能。但是,这是为故障排除目的而设计的临时措施。退出安全模式后,已禁用的插件和主题将重新激活,将您的网站恢复到以前的状态。

Elementor 中的安全模式如何与缓存插件或 CDN 交互?我应该注意哪些兼容性问题?

虽然 Elementor 中的安全模式可以帮助诊断与其他插件或主题的冲突,但它可能无法与缓存插件或 CDN 完全交互。这意味着,如果启用了缓存,在安全模式下所做的更改可能不会立即反映在您的实时网站上。在安全模式下清除网站的缓存或暂时禁用缓存插件很重要,以确保准确的测试和故障排除。

如果我在安全模式下遇到问题,例如布局问题或缺少功能,我应该采取哪些故障排除步骤来诊断和解决问题?

如果您在安全模式下遇到问题,例如布局问题或缺少功能,您可以采取几个故障排除步骤。首先,尝试逐个禁用其他每个插件,以确定是否有任何特定插件导致问题。此外,通过暂时切换到默认的 WordPress 主题(如 Twenty Twenty-One)来检查主题是否冲突。如果问题仍然存在,您可以联系 Elementor 支持或查阅其文档以获得进一步的帮助。




关于造价审核书中审核金额人民币大写的正确姿势

大家在造价审核时,Excel中默认的人民币大写公式显示是下面的样子:

但根据正规的财务写法,其实应该是下面的样子:

那么如何才能做到正确的写法并且大小写金额联动呢,其实这个问题在Excel或WPS中并不太好解决,下面介绍两种方法:

第一种方法:需要利用到一点VBA的知识。操作如下:

在 Excel 中将数值金额转换为中文大写金额,可以通过自定义函数来实现。下面是一个使用 VBA(Visual Basic for Applications)来编写自定义函数的方法,将数值金额转换为中文大写金额。

  1. 打开你的 Excel 文件。
  2. Alt + F11 打开 VBA 编辑器。
  3. 在 VBA 编辑器中,选择 插入 -> 模块 来插入一个新的模块。
  4. 复制以下代码并粘贴到新模块中:
Function NumToRMB(amt As Double) As String
    Dim StrValue As String
    Dim Units As Variant
    Dim Digits As Variant
    Dim i As Integer
    Dim StrTemp As String
    Dim isNeg As Boolean

    ' 判断负数
    If amt < 0 Then
        isNeg = True
        amt = Abs(amt)
    End If

    StrValue = Format(amt, "0.00")
    Units = Array("", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿", "拾", "佰", "仟", "万", "拾", "佰", "仟")
    Digits = Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖")

    Dim StrInt As String
    Dim StrDec As String
    Dim PosDot As Integer

    PosDot = InStr(StrValue, ".")
    If PosDot > 0 Then
        StrInt = Mid(StrValue, 1, PosDot - 1)
        StrDec = Mid(StrValue, PosDot + 1)
    Else
        StrInt = StrValue
        StrDec = ""
    End If

    StrTemp = ""
    For i = 1 To Len(StrInt)
        StrTemp = StrTemp & Digits(Mid(StrInt, i, 1)) & Units(Len(StrInt) - i)
    Next i

    StrTemp = Replace(StrTemp, "零拾", "零")
    StrTemp = Replace(StrTemp, "零佰", "零")
    StrTemp = Replace(StrTemp, "零仟", "零")
    StrTemp = Replace(StrTemp, "零万", "万")
    StrTemp = Replace(StrTemp, "零亿", "亿")
    StrTemp = Replace(StrTemp, "零零零零", "零")
    StrTemp = Replace(StrTemp, "零零零", "零")
    StrTemp = Replace(StrTemp, "零零", "零")

    If Right(StrTemp, 1) = "零" Then
        StrTemp = Left(StrTemp, Len(StrTemp) - 1)
    End If

    If StrDec <> "" Then
        StrTemp = StrTemp & "元" & Digits(Mid(StrDec, 1, 1)) & "角" & Digits(Mid(StrDec, 2, 1)) & "分"
    Else
        StrTemp = StrTemp & "元整"
    End If

    If isNeg Then
        StrTemp = "负" & StrTemp
    End If

    NumToRMB = StrTemp
End Function

5.关闭 VBA 编辑器,返回到你的 Excel 工作表。

6.在 Excel 中,使用自定义函数 NumToRMB 将数值转换为中文大写金额。例如,如果你的数值在 A1 单元格中,你可以在 B1 单元格中输入:

=NumToRMB(A1)

这样,Excel 将自动把 A1 单元格中的数值(如 294632.80)转换为中文大写金额(贰拾玖万肆仟陆佰叁拾贰元捌角)。

你可以根据需要修改和扩展这个函数来适应具体的需求。

第二种方法:输入以下公式,将E6改为你的原单元格引用。

=IF(ROUND(E6,2)<0,"无效数值",IF(ROUND(E6,2)=0,"零",IF(ROUND(E6,2)<1,"",TEXT(INT(ROUND(E6,2)),"[dbnum2]")&"元")&IF(INT(ROUND(E6,2)10)-INT(ROUND(E6,2))10=0,IF(INT(ROUND(E6,2))(INT(ROUND(E6,2)100)-INT(ROUND(E6,2)10)10)=0,"","零"),TEXT(INT(ROUND(E6,2)10)-INT(ROUND(E6,2))10,"[dbnum2]")&"角")&IF((INT(ROUND(E6,2)100)-INT(ROUND(E6,2)10)10)=0,"整",TEXT((INT(ROUND(E6,2)100)-INT(ROUND(E6,2)10)10),"[dbnum2]")&"分")))

第三种方法:直接利用BIM百宝箱中的工具,详见下面的链接

https://calc.xycost.com/Chatgpt/NumberConvert.aspx




https://calc.xycost.com自助支付功能开通,需要的同学可交流

经过摸索,给calc.xycost.com网站加上了用户自助付费成为会员功能,其中的支付环节是重点,下面是简要的过程:

我采用的是迅虎支付(虎皮椒支付),以此为例:pay.cs的内容,注意跳转链接无法使用通用的&字符,会提示错误。只能使用;号再在程序中解析,当然更好的方法是使用URL路由。

public string Index(string grade, string money, string UserID)
{
    var json = new JObject();

    try
    {
       trade_order_id = GenerateOutTradeNo();//网站生成订单号

        var dic = new Dictionary<string, string>
        {
            {"version", "1.1"},
            {"lang", "zh-cn"},
            {"plugins", "test-001"},
            {"appid", ""},//appid
            {"appsecret", ""},//appsecret
            {"trade_order_id", trade_order_id},//订单号Generate.GenerateOutTradeNo()
            {"payment", "wechat"},//支付类型
            {"total_fee", money},//金额
            {"title", HttpUtility.UrlEncode("BIM")},//标题,中文需要编码“HttpUtility.UrlEncode()”
            {"time", GetCurrentTimestamp().ToString()},//时间戳
            {"notify_url", "https://calc.xycost.com/login/notify.ashx"},//通知链接http://localhost:62443/通知链接https://calc.xycost.com/login/notify.ashx
            {"return_url", $"https://calc.xycost.com/login/user.aspx?UserID={UserID};money={money};grade={grade};trade_order_id={trade_order_id}"},//跳转链接
            {"nonce_str", GenerateRandomString()},//随机字符串
        };

        dic.Add("hash", Sign(dic));

        var sr = JsonConvert.DeserializeObject<SamplesResult>(PostHttp(dic));

        json.Add(new JProperty("openid", sr.Openid));
        json.Add(new JProperty("url", sr.Url));
        json.Add(new JProperty("errcode", sr.Errcode));
        json.Add(new JProperty("errmsg", sr.Errmsg));
        json.Add(new JProperty("hash", sr.Hash));

    }
    catch (Exception e)
    {
        throw e;
    }

    return json.ToString();
}

回调函数notify.ashx,注意下面的内容在VS中无法直接编辑,需要手动记事本添加

<%@ WebHandler Language=”C#” CodeBehind=”notify.ashx.cs” Class=”EngineeringConstructionCost.Login.NotifyHandler” %>

notify.ashx.cs的内容

using System.Web;

namespace EngineeringConstructionCost.Login
{
public class NotifyHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
// 读取请求参数
HttpRequest request = context.Request;
string tradeOrderId = request.Params["trade_order_id"];
string totalFee = request.Params["total_fee"];
string transactionId = request.Params["transaction_id"];
string plugins = request.Params["plugins"];
string status = request.Params["status"];
string hash = request.Params["hash"];

        // 返回成功响应
        HttpResponse response = context.Response;
        response.ContentType = "text/plain";
        response.Write("success");
    }

    public bool IsReusable
    {
        get { return false; }
    }
}}



如何在 WordPress 中使用 Elementor 创建“即将推出”页面

即将推出的页面是在网站或项目完全完成并启动之前创建的。使用 Elementor,您可以从头开始创建即将推出的页面或使用现成的模板。Elementor 是一个功能强大的页面构建器,您可以使用它创建和添加不同类型的页面和重要元素到您的网站。

即将推出页面是一个非常有价值的网站元素,您可以使用 Elementor 插件创建它。在本文中,我们将向您展示如何使用 Elementor 创建即将推出页面的分步指南。

什么是即将推出的页面?

即将推出页面是在相关网站或项目最终启动之前向访问者显示的临时网页。它实际上起到了预告的作用。它提供有关即将推出的内容的信息,并允许访问者订阅或保持更新,直到页面或项目正式启动。

它通常包括即将推出的产品的简短描述、倒数计时器以及供访问者订阅或关注更新的选项。它充当一种营销工具,用于捕获潜在客户并建立发布前的受众群体,为成功发布奠定基础。

何时以及为何应创建“即将推出”页面

从营销角度来看,创建“即将推出”页面对您的业务大有裨益。但是,您必须具有足够的战略眼光来预测未来并相应地实施计划。以下是有关何时以及为何应创建“即将推出”页面的一些要点。

  • 网站开发

如果您正在构建新网站或重新设计现有网站,那么“即将推出”页面可以充当您在后台处理网站时使用的公告板。它可以让您通知访问者您的网站正在建设中,并让他们了解即将推出的内容。

  • 上市前营销

即将推出的页面可以有效地为即将推出的产品或服务营造氛围和期待感。通过提供即将推出的产品的预览,您可以吸引潜在客户的兴趣并开始吸引预发布受众。

  • 产生销售线索

即将推出页面的一个主要目的是收集感兴趣的访问者的电子邮件地址和联系信息。您可以通过提供订阅表格或号召性用语来收集潜在客户并建立潜在客户列表,以保持更新。查看最佳WordPress 潜在客户生成插件

  • 品牌意识

精心设计的“即将上线”页面有助于树立品牌形象,给人留下难忘的第一印象。通过整合品牌颜色、徽标和信息,您甚至可以在网站全面上线之前就开始建立品牌知名度。

  • 社交媒体推广

即将推出的页面提供了推广您的社交媒体帐户并鼓励访问者在 Facebook、Instagram 或 Twitter 等平台上关注您的机会。这让您能够与受众保持联系并提供有关网站进度或即将推出的产品的最新信息。

如何在 Elementor 中创建即将推出的页面

在本部分中,我们将向您展示如何在 Elementor 中创建即将推出的页面。但在进入教程部分之前,请确保您的网站上安装了以下插件。

您可能会问 –为什么选择 HappyAddons 而不是 Elementor Pro?答案是,您几乎找不到 Elementor 中任何现成的即将推出的页面模板。但 HappyAddons 提供了一系列即将推出的页面模板,可让您的页面立即准备就绪。

您可以使用免费版本从头开始创建即将推出的页面。在这种情况下,您将错过许多令人兴奋的高级插件。但是,我们将在本节中使用 HappyAddons Pro 插件来完成本教程。

有两种创建即将推出页面的方法。下面与我们一起探索。

方法一:使用现成的模板创建即将推出的页面

正如我们上面所说,HappyAddons 提供了很多现成的即将推出页面模板。使用这些模板,您只需几分钟即可准备好即将推出的页面。流程如下:

步骤 01:安装并激活上述插件

正如我们所说,确保这三个插件Elementor、HappyAddonsHappyAddons Pro已在您的网站上安装并激活。

安装并激活上述插件

步骤 02:使用 Elementor Canvas 打开页面

转到页面 > 添加新页面。然后,使用 Elementor 打开页面。

使用 Elementor 打开页面

使用 Elementor 打开页面后,转到“设置”>“页面布局” 。从下拉列表中选择Elementor Canvas 。

Elementor Canvas 将从页面中删除页眉和页脚。实际上,即将推出的页面不需要显示页眉和页脚。因此,我们通过选择 Elementor Canvas 选项删除了它们。

使用 Elementor Canvas 打开页面

步骤 03:导入即将推出的模板

单击HappyAddons模板库图标即可打开并访问模板库。

HappyAddons 模板库

过滤并找到即将推出的页面模板非常容易。单击左上角箭头符号

选择即将推出的选项。所有即将推出的区块和相关页面将会出现在屏幕上。

点击插入按钮将您喜欢的模板添加到画布。

查找并选择即将推出的页面模板

即将推出的页面模板将在几秒钟内导入到画布中。现在您可以通过向其中添加新的小部件和元素来修改它。

已导入“即将推出”页面模板

方法二:从头开始创建“即将推出”页面

您将在 Elementor 面板中获得大量有用的小部件,它们将允许您从头开始轻松创建即将推出的页面。我们将向您展示如何通过这种方法做到这一点。让我们首先看一下创建即将推出的页面所需的小部件。

现在,进入教程。

步骤 01:选择结构以在 Elementor 画布上添加内容

Elementor 在其 3.6 版更新中发布了 Flexbox 容器。它使使用 Elementor 添加内容和设计页面变得非常容易。在画布上选择 Flexbox 列结构,以便您可以添加小部件并设计即将推出的页面。

在本教程中,我们将选择第一个列结构。

选择结构以在 Elementor 画布上添加内容

步骤 02:为结构列的背景添加颜色或图像

通过在列的背景中添加合适的颜色,您可以创建一个充满活力的环境来呈现即将推出的页面的信息和设计元素。

要为列的背景添加颜色,请单击列上的六个点图标。转到“样式”选项卡。点击选项卡下的颜色选项。

为结构列的背景添加颜色

或者,您可以通过点击“样式”选项卡下“图像”选项将图像添加到背景。

将图像添加到结构列的背景中

步骤 03:在结构顶部添加间隔小部件

找到Spacer 小部件并将其添加到画布上的选定区域。它将在选定区域的顶部和另一部分之间创建一个空间。否则,您的内容可能会与顶部边缘对齐,这看起来不太好。

在结构顶部添加 Spacer Widget

您可以从“内容”选项卡自定义小部件的高度。

自定义 Spacer 小部件的高度

步骤 04:将文本编辑器小部件添加到选定区域

将文本编辑器小部件拖放到所选区域的画布上。它将允许您为即将推出的页面编写副本。

将文本编辑器小部件添加到选定区域

您可以看到我们在小部件上写了一段文字。之后,我们从“样式”选项卡自定义了其颜色、对齐方式、排版字体粗细

将副本添加到即将推出的页面并进行自定义

步骤 05:将倒计时小部件添加到 Elementor 画布

HappyAddons 有一个倒计时小部件。找到并将其添加到 Elementor Canvas。

将倒计时小部件添加到 Elementor 画布

倒计时小部件在预设部分下包含多个模板。您可以选择一个模板或从头开始自定义它。但是,我们将为本教程选择一个模板。

选择倒计时小部件的模板

“时间”部分,您可以设置倒计时持续的时间。

设置倒计时持续的时间

倒计时设置中,您可以重写倒计时选项的标签及其对齐方式

配置倒计时设置

进入样式选项卡。您将获得使用相应设置来设置小部件样式的选项。您可以修改小部件颜色、字体大小、填充、边距等。

对“倒计时”小部件进行样式化

步骤 06:添加联系表单

在即将推出的页面中添加联系表单至关重要。它允许您收集想要了解您最新动态的感兴趣的受众的电子邮件 ID。HappyAddons 与许多表单构建器插件集成,例如 Contact Form 7、WP Forms、Ninja Forms、Caldera Forms、weForms 等。

要添加联系表单,请确保在后端安装了表单插件。在本教程中,我们安装了Contact Form 7插件。查看其他一些最佳 WordPress 联系插件

安装并激活 Contact Form 7 插件

使用插件创建联系表单。我们可以看到我们已经创建了它并将其命名为Contact form 1

使用 Contact Form 7 插件创建联系表单

查找并将Contact Form 7小部件添加到 Elementor Canvas

将 Contact Form 7 小部件添加到 Elementor 画布

现在,您必须选择要在画布上显示的联系表单。转到内容 > 联系表单 7。选择您在后端创建的表单的名称。观看下面的视频以了解该过程。

通过转到“内容”选项卡下的“预设”选项来选择联系表单的模板。

选择联系表的模板

# 风格化联系表单

如您所见,联系表单过宽,不符合设计。您可以通过按住表单右侧边缘并将其向左拖动来减小表单的宽度。

转到“高级”选项卡。您将在其下方看到“对齐自身”选项。从这里,您可以选择居中对齐选项以在画布的中间部分展示表单。

集中对齐联系表单

进入“样式”选项卡。您将在此选项卡中获得选项以自定义标签颜色、大小、粗细、占位符颜色、字体大小和 CTA 按钮。

我们在这里不解释细节。希望你能自己做。

自定义联系表格

步骤 07:在末尾添加 Spacer 小部件

再次添加 Spacer 小部件,在画布底线和主要内容之间创建空间。这将使即将推出的页面设计看起来不错。

在末尾添加 Spacer 小部件

步骤 08:添加“即将推出”文字

嘿,因为这是一个即将推出的页面,所以您必须将“即将推出”添加到画布中,以使您的设计更有意义。我们忘记在开始时添加它了。但一旦您发现,做正确的事情永远不会太晚。

使用文本编辑器小部件,您可以轻松地将“即将推出”文本添加到画布。参见下图;我们已经做到了。

将“即将推出”文本添加到页面

步骤 09:使“即将推出”页面具有移动响应能力

由于移动设备和平板设备的屏幕相对较窄,因此您必须减小页面元素的尺寸,以使其完美适应屏幕。

单击Elementor 面板页脚处的“响应模式”选项。它将打开根据设备在不同断点之间切换的选项。

无论您切换到哪种设备,都可以自定义内容以使其完美适合屏幕尺寸。自定义细节将根据设备的屏幕尺寸保存。

注意:不要删除任何屏幕上的任何元素;它将同样适用于所有设备模式。

使“即将推出”页面具有移动响应能力

检查如何使 Elementor 网站对移动设备做出响应

步骤 10:保存设计

设计完成后,单击 Elementor 面板上的发布或更新按钮保存它和所有更改。

注意:使用合适的名称(如“即将推出”)保存页面,以便您以后在需要时可以找到它。

保存设计

因此,您可以使用 Elementor 创建即将推出的页面。您现在可以将其用作即将推出的登录页面或模板。该模板可以导入并用于使用 Elementor 构建的其他网站。

如何在 WordPress 中使用 Elementor 启用“即将推出”功能

到目前为止,您刚刚使用 Elementor 设计了“即将推出”页面。现在您必须完成一些配置才能将其显示在您的前端。转到您的WordPress 仪表板。导航到Elementor > 工具 > 维护模式

选择模式选项中选择维护

谁可以访问中,您可以定义谁将看到即将推出的页面。

接下来,从选择模板选项中选择您刚刚创建的页面。

单击最后的“保存更改”按钮。

您将看到维护模式已激活,并且您的页面将显示在前端。




9+ 最佳 WooCommerce 支付网关

支付网关对于任何 WooCommerce 商店的成功都起着重要作用。通过提供安全的交易、多样化的支付选项、无缝集成和全球扩张机会,它们使您的业务在竞争激烈的世界中蓬勃发展。

您可以使用各种平台创建电子商务网站。但如果您的网站使用 WordPress,则可以使用任何合适的 WooCommerce 支付网关启用支付管理系统。在本文中,我们将详细讨论最佳 WooCommerce 支付网关。

什么是 WooCommerce 支付网关?

WooCommerce 支付网关是WooCommerce 插件的扩展。它允许客户使用各种支付系统支付商品和服务费用。对于任何基于 WooCommerce 构建的在线商店来说,它都是必需的,因为它可以实现客户和商家之间的无缝和安全交易。

支付网关集成了不同的支付处理器,并促进了资金从客户到商家的转移。通过提供一系列支付选项,WooCommerce 支付网关增强了客户的购物体验并帮助企业增加收入。

什么是 WooCommerce 支付网关

看看流行支付网关的市场份额。我们将在下面描述它们。以下信息来自 Statista。

网关 技术所有者 原产地 市场份额 (%)
PayPal PayPal 我们 45.4%
条纹 条纹 我们 18.2%
Shopify 支付分期付款 Shopify 加拿大 14.6%
亚马逊支付 亚马逊 我们 3.8%
后付费 后付费 澳大利亚 1.3%
Stripe 结账 条纹 我们 1.3%
布伦特里 PayPal 我们 1.2%
克拉纳 克拉纳 瑞典 1%
折扣 折扣 日本 1%
授权网 授权网 我们 0.8%
支付宝 阿里巴巴集团 中国 0.27%

此外,还有许多其他支付网关。并非所有网关都适合 WooCommerce 网站。在下面的文章中,我们将讨论最适合 WooCommerce 网站的网关。

为什么要使用 WooCommerce 支付网关?

使用优质的 WooCommerce 支付网关可以为您的电子商务网站带来各种好处。快速了解一下您必须考虑在您的网站上使用 WooCommerce 支付网关的一些主要原因。

最佳 WooCommerce 支付网关

1. 担保交易

支付网关可确保客户和电子商务网站之间的安全交易。它加密敏感的支付信息(如信用卡详细信息),因此未经授权的用户无法访问或破解它们。

2. 多种付款方式

支付网关允许您向客户提供多种支付选项。这包括信用卡/借记卡、数字钱包、银行转账等。通过提供多种支付选项,您可以满足更广泛的客户偏好并提高转化率。

3.无缝集成

WooCommerce 支付网关旨在与您的在线商店无缝集成。它们为客户提供顺畅的结账体验,减少摩擦并提高完成购买的可能性。

4. 增加信任

使用信誉良好的支付网关可以提高您的在线商店的可信度。当客户在结账时看到熟悉且值得信赖的付款方式时,他们会更有信心进行购买。

5.定制

许多 WooCommerce 支付网关都提供自定义选项,让您可以根据自己的品牌和客户体验定制支付流程。您可以自定义支付页面的外观、添加徽标并向客户提供个性化消息。

最佳 WooCommerce 支付网关说明

到目前为止,我们已经介绍了这篇博文的基本部分。现在,我们将在本文的以下部分讨论并向您介绍一些最好的 WooCommerce 支付网关。

1. PayPal

PayPal 支付网关

PayPal是广受认可和信赖的支付网关,可与 WooCommerce 无缝集成。它为所有类型的电子商务网站提供安全便捷的支付管理系统。

使用 PayPal,商家可以为客户提供使用 PayPal 账户或信用卡/借记卡付款的选项。要注册,您需要一个电子邮件地址和必要的银行账户来设置它。PayPal 允许商家以各种方式接受付款,包括在线和实体店。

PayPal 会验证信息,确保账户由合法所有者设置,然后才能使用。PayPal 还为未收到订购商品的买家提供保护,为客户提供额外的安全保障。

PayPal 的主要功能

  • 链接银行账户,方便资金转账
  • 电子支票有助于从银行账户直接付款
  • 通过加密确保结账过程的安全
  • 确保符合条件的交易的购买保护
  • 包括融资购买的信用选项
  • PayPal 商业借记万事达卡经常提供现金返还奖励
  • 随时可用的捐赠按钮,用于筹款活动

2. 条纹

Stripe 支付网关

Stripe是一个非常受欢迎的支付网关。它是 WooCommerce 网站中首选的支付管理系统之一。Stripe 还可以处理各种支付方式,包括借记卡、信用卡和本地支付选项。

Stripe 提供用户友好的界面和简单的结账流程。它确保为客户提供顺畅的支付体验。它利用 Stripe Elements,提供符合 PCI 标准的结账体验,适用于不同的浏览器和设备。

使用 Stripe 的一个主要优势是它能够为符合条件的商家提供即时付款。这意味着企业可以在几分钟内将资金存入银行账户,这对现金流管理特别有利。

Stripe 的主要特点:

  • 轻松与 WooCommerce 集成
  • 支持主要借记卡和信用卡
  • 接受本地付款方式
  • PCI-DSS 合规性
  • 使用 Stripe Elements 一键结账
  • 符合条件的商家可立即付款
  • 先进的欺诈检测工具
  • 响应迅速且适合移动设备的结账体验
  • 免费更新和新功能访问

3. Authorize.net

Authorize.net 支付网关

Authorize.net允许企业接受各种付款,包括所有主要信用卡、电子支票、礼品卡和签名借记卡。它提供先进的欺诈保护工具,帮助识别、管理和防止可疑和潜在欺诈交易。

使用 Authorize.net,资金会在几天内自动存入用户的商家银行账户,确保快速获得资金。它有一个简单的结账流程。商家可以轻松地在其网站上添加“立即购买”或“捐赠”按钮,从而简化客户的付款流程。

此外,Authorize.net 在其服务器上提供了安全的支付表格,供客户输入他们的信用卡详细信息,确保敏感信息得到安全处理。

Amazon.net 的主要特点:

  • 接受所有主要信用卡、电子支票、礼品卡和签名借记卡
  • 先进的欺诈保护工具
  • 快速将资金存入商户银行账户
  • 带有“立即购买”或“捐赠”按钮的简单结账流程
  • 在 Authorize.net 服务器上输入信用卡详细信息的安全支付表格

4.亚马逊支付

Amazon Pay 支付网关

Amazon Pay由科技公司亚马逊拥有和管理,该公司也是世界上最大的电子商务公司之一。它为客户提供了一种方便、安全的方式,让他们使用现有的亚马逊账户在各种网站上进行在线支付。

它允许客户使用已存储在亚马逊账户中的付款和运输信息,无需在不同网站上重复输入这些详细信息。它与亚马逊生态系统无缝集成。

客户可以通过亚马逊网站或移动应用程序访问他们的 Amazon Pay 账户,并使用它向合作伙伴网站付款。Amazon Pay 提供高水平的安全性。客户的信息由亚马逊安全存储,从而降低了数据泄露的风险。

Amazon Pay的主要特点:

  • 与亚马逊生态系统整合
  • 安全存储支付信息
  • 具有多币种整合
  • 支持非营利组织、中小型企业
  • 拥有先进的欺诈检测技术
  • 可定制的按钮和小部件
  • 集成 Alexa 语音订购功能
  • 针对移动应用进行了优化

了解如何在 WooCommerce 商店中添加产品

5. 布伦特里

Braintree 支付网关

Braintree是 PayPal 旗下的支付网关。它以其强大而灵活的平台而闻名。它提供多种支付选项,包括信用卡、借记卡、数字钱包等。这使企业能够满足各种客户的需求并提供便捷的结账体验。

它采用行业标准的加密和标记来保护敏感的客户数据。这降低了欺诈和未经授权访问的风险。此外,Braintree 符合 PCI-DSS 标准,可确保企业满足最高的安全标准。

它提供了一系列 SDK(软件开发工具包)和 API,使企业可以轻松地将 Braintree 集成到他们的网站或移动应用程序中。

Braintree 的主要特点:

  • 帮助检测和防止欺诈交易
  • 接受信用卡、PayPal、Venmo 等
  • 分析提供关键交易见解
  • SDK 和 API 可轻松集成
  • 定期计费功能
  • 支持国际支付
  • 涵盖先进的安全措施

6. 正方形

Square支付网关

Square是 WooCommerce 网站的绝佳选择。此支付网关在美国、加拿大、澳大利亚、日本和英国均可使用。交易成本因国家/地区而异。它同样适合小型到大型企业。

它为企业提供了一个直观的平台来管理他们的付款、库存和客户数据。无论是处理付款、发放退款还是生成报告,Square 都能提供一流的用户体验。

Square 还为企业提供一系列支付处理选项。它提供可在实体店使用的实体读卡器和终端,让企业能够接受面对面付款。

Square 的主要特点:

  • 允许处理来自物理读卡器和终端的付款
  • 帮助开具发票和库存管理
  • PCI 合规性提供端到端加密和安全交易
  • 解决纠纷不收取额外费用
  • 支持管理优惠券、发票、预约​​和 Instagram
  • 提供实时报告检查功能

7.支付宝

AliPay 支付网关

支付宝是阿里巴巴集团运营的广泛使用的支付网关。它为个人和企业提供安全便捷的付款和收款方式。它最初是为了支持阿里巴巴电子商务平台(如淘宝和天猫)上的交易而推出的。

然而,支付宝如今已发展成为零售、娱乐、交通等各个领域广泛接受的支付方式。支付宝在中国拥有重要影响力,并受到消费者的广泛认可和信赖。

如此庞大的用户群为企业提供了巨大的潜在客户资源。它支持多种付款方式,包括关联银行账户、借记卡、信用卡,甚至面部识别技术。

支付宝的主要特点:

  • 允许客户通过扫描二维码付款
  • 在网速慢的情况下使用支付代码轻松完成付款
  • 可在 42 个国家/地区使用并支持 130 多种货币
  • 为开发人员提供文档
  • 提供出色的客户支持
  • 使用托管系统确保合法性

这是有关如何自定义 WooCommerce 结帐页面的指南。

8. 剃刀支付

Razorpay 支付网关

Razorpay以其简单的集成过程而闻名。它提供了专为 WooCommerce 设计的插件,使企业能够快速轻松地将 Razorpay 集成到其由 WooCommerce 提供支持的网站中。这确保了顺畅且无忧的支付体验。

它支持各种支付方式,包括信用卡、借记卡、网上银行、UPI(统一支付接口)和流行的数字钱包。它为客户提供无缝结账体验。它提供了一个用户友好且响应移动设备的支付界面。

这确保客户可以轻松从任何设备付款。Razorpay 支持一键付款,允许客户保存他们的卡详细信息以供将来购买,从而进一步简化结账流程。

  • 轻松与 WooCommerce 集成
  • 全面的付款方式
  • 用户友好且移动响应的支付界面
  • 支持一键付款
  • 强大的安全措施
  • PCI-DSS 合规性
  • 自动电子邮件通知
  • 实时交易数据和报告

9.Payrexx

Payrexx 支付网关

Payrexx是此列表中的另一个 WooCommerce 支付网关,适用于所有规模的企业。它提供了用户友好的界面和简单的设置过程,使企业能够快速将 Payrexx 集成到其由 WooCommerce 提供支持的网站中。

它提供可自定义的付款方式、订阅管理、定期计费和发票功能等功能。这些功能使企业能够设置订阅服务、接受定期付款并高效管理发票。

此外,Payrexx 优先考虑安全性和数据保护。它实施加密和标记化技术,以确保安全交易并保护敏感的客户数据。

Payrexx的主要特点:

  • 与 WooCommerce 的用户友好集成
  • 多种付款方式
  • 可定制的付款表格
  • 订阅管理
  • 定期计费和发票功能
  • 强大的安全措施
  • PCI-DSS 和 GDPR 合规性

10.WooPayments

WooPayments 支付网关

WooPayments专为与 WooCommerce 无缝集成而构建。这让您可以轻松设置并开始在您的在线商店接受付款。支付网关支持多种付款方式。

它包括信用卡、借记卡、数字钱包和其他支付选项,确保客户能够灵活地以自己喜欢的方式付款。支付网关简化了退款流程。它允许商家直接从他们的 WooCommerce 仪表板发出退款。

WooPayments 的主要功能:

  • 支持多种付款方式
  • 包括防欺诈技术
  • 简化定期付款管理
  • 为 WooCommerce 用户提供专门支持
  • 符合 PCI 规定以确保交易数据安全
  • 处理大量交易

检查如何编辑 WooCommerce 产品页面

WooCommerce 支付网关和支付网关插件之间的区别

WooCommerce 支付网关和支付网关插件不是一回事。两者之间有几个关键区别。快速了解一下它们之间的区别。

积分 WooCommerce 支付网关 支付网关插件
定义 内置选项,可在 WooCommerce 网站上进行付款处理 与 WooCommerce 集成的扩展程序可提供额外的支付选项
一体化 集成到 WooCommerce 平台 作为扩展或插件添加到 WooCommerce
选择范围 支持多种支付网关 将支付方式范围扩展到默认网关之外
自定义 提供有限的定制选项 涵盖附加功能和自定义选项
价钱 包含在 WooCommerce 中 免费或付费,取决于功能