9 WordPress代码为您的博客增添趣味并改善用户体验

文章撰写者:
  • WordPress
  • 更新:May 08,2019

WordPress易于配置和安装,您可以在发布博客后立即开始使用。

但依赖WordPress的默认选项可能会导致您的损失:

  • 功能较少
  • 无聊的用户(他们偶然发现的每个WP站点都看到相同的东西)
  • 搜索引擎排名下降。

您手中有一个灵活的工具,您可以调整它以使其成为一种令人愉快的使用和高效的依赖。 为什么不为你的用户(和你自己)加油呢?

本文旨在通过添加有趣的内容,帮助您使基于WordPress的网站对您的用户有趣和有用 代码片段 这也将增强你的SEO。

需要帮助为WordPress博客增添趣味?
WHSR现在与Codeable.io合作,为需要专业WP开发/定制服务的用户提供帮助。

要获得免费报价, 请填写此申请表.

给他们一个尝试,让我知道他们是如何为你工作的! ;)

9代码增强您的WordPress博客

我将在这篇文章中为您提供两种类型的代码片段:

  1. 法典代码
  2. 代码片段和小部件

Codex代码是我自己编写的PHP片段(在未婚夫Simone的帮助下)严格使用 WordPress.org食品法典 作为参考。

代码片段和小部件是现成的PHP代码(或WordPress插件),可以在其他网站和WordPress.org上免费获得,但我还包括我的未婚夫片段和我使用开放和Codex引用从头开始编写。

这两种类型的代码都易于实现和安装,但如果您不确定如何操作代码,则可能需要从小部件和插件开始。

我知道9代码片段对于那些喜欢尝试大量不同代码的人来说可能还不够,所以我相信我们的Robert Ludrosky's 25为WordPress开发人员提供了便捷的代码片段 会满足你的饥饿感(至少会持续一段时间)。 ;)

法典代码

1。 区分粘性帖子

要使WordPress检查您当前的帖子是否是粘贴帖子 - 并相应地显示它 - 您可以使用Codex布尔函数:

<?php is_sticky(); ?>

单独的函数只返回TRUE或FALSE值,所以如果写一个条件结构(if / else)来管理你的粘贴帖子,你可以在这里做什么。 一个例子:

<?php if is_sticky(){the_title(); the_time('M,d,Y'); the_excerpt(); } else {include'post-template.php'; }

在此示例用法中,我将粘贴帖子显示为仅包含标题,发布日期和摘录(不是整个帖子)的框,而其他帖子的标准模板包含在post-template.php中。

每种类型的帖子都有自己的CSS样式表,但我们不在这里定义样式; 只有模板。

Single.php是单个帖子的默认模板(您会发现它包含在每个默认的WP主题中)。

如果您已经开发了自己的WP主题但是没有为单个帖子设置模板,则可以按照Codex指南进行操作 请点击此处。.

2。 显示帖子URL

添加到模板可能很有趣。 如果您希望读者获取每个页面(或帖子)的URI,只需在single.php,page.php甚至index.php模板中使用以下标记:

<a href="<?php echo get_page_link();?>“> <?php echo get_page_link(); ?> </A>

不是使用the_permalink,这是最明显的选择,适用于所有情况,WP允许您为帖子和页面使用两种替代形式:

<?php echo get_post_permalink(); ?>
 <?php echo get_page_link(); ?> 

例如,您的页面模板可以包含:

<p>链接:<a href="<?php echo get_page_link();?>“> <?php echo get_page_link(); ?> </A> </ P>

3。 检索并显示帖子ID号

即使您将永久链接结构设置为用户和SEO友好,您仍然可以通过将以下简单函数添加到元行来向访问者显示帖子ID:

<?php the_ID(); ?>

样品用法:

<p class =“meta”>作者姓名发布。 帖子ID是<?php the_ID(); ?> </ p>

4。 按ID列出类别

WordPress标准功能是:

<?php get_all_category_ids()?>

这是我在我的一个博客上使用的一个例子,使用来自的代码编写 法典StackOverflow上的一个主题:

<?php $ category_ids = get_all_category_ids(); foreach($ category_ids as $ cat_id){$ cat_name = get_cat_name($ cat_id); $ category_link = get_category_link($ cat_id); //我们需要cat链接才能使用URL! echo“<a href=\"{$category_link}\"> {$ cat_id} </a>:{$ cat_name} <br/>”; }?>

......以及它是如何显示的:

类别WP代码

注意:get_all_category_ids()现在是一个已弃用的函数,但你仍然可以毫无问题地使用它,就像我在我的博客上所做的那样(上面的截图)。 但是,如果您希望对此代码段使用新功能,请访问 get_terms() 食典委的页面。

这段代码有什么作用?

代码获取每个ID的所有类别ID和类别名称,然后将ID链接到类别链接,同时在“:”之后显示类别名称 - 因此 回波() 表达 <a href=\"{$category_link}\"> {$ cat_id} </a>:{$ cat_name} <br/>.

5。 为您的博客提供详细的用户/作者页面

您是否曾想构建一个自定义页面,可以显示所有博客作者或用户而无需依赖插件?

好吧,你 能够 创建您自己的自定义作者/用户页面,只有文本编辑器,FTP上传器和您心爱的WordPress仪表板。

首先,您需要创建page.php文件的副本。 将您的副本重命名为任何名称 - 我将其命名为users.php。

添加 模板标签 在WordPress的模板顶部将其识别为模板,然后转到您的仪表板 - >页面 - >添加新的 并为您的用户/作者列表创建一个页面。 返回“页面”列表,单击新页面标题下的“快速编辑”,然后从“模板”下拉菜单中选择新模板。 保存更改。

现在打开您的users.php(或任何您命名的文件)文件并应用以下代码:

 <?php $ result = count_users(); echo'有',$ result ['total_users'],'总用户'; foreach($ result ['avail_roles'] as $ role => $ count)echo',',$ count,'are',$ role,'s'; echo'。'; ?> 

这段代码使用了 count_users 功能在Codex中列为“默认用法”。 您可以在以下位置查看此代码的实例 http://robocity.in/users/.

在那段代码之后,让我们添加一些关于博客管理员的内容:

<?php printf(__('用户发布的帖子数量“领导者”:%d','text-dom-here'),count_user_posts(1)); ?>

我用了 count_user_posts 这里的功能,遵循食典委建议的使用格式。

该功能 get_userdata 很好地显示某个用户名与使用它的人的真实姓名之间的相关性。 见下文:

<?php $ user_info = get_userdata(1); $ username = $ user_info-> user_login; $ first_name = $ user_info-> first_name; $ last_name = $ user_info-> last_name; echo“$ first_name $ last_name使用用户名$ username登录到他们的WordPress站点。”; ?>

现在,这是您可以在作者/用户页面上使用的最有趣的功能 - get_users 功能:

<?php $ blogusers = get_users('blog_id = 1&orderby = nicename&role = administrator'); // WP_User对象的数组。 foreach($ blogusers as $ user){echo'<span>'。 esc_html($ user-> user_login)。 ' - '。 esc_html($ user-> user_email)。 '</跨度> <BR/>'; }?>

此函数将根据您可以在代码中配置的某些参数检索用户列表。 在上面的示例中(取自Codex页面并在Robocity.in中编辑以适合我的用户页面),我想获得由'nicename'订购的博客ID 1(当前博客)的管理员列表,并且对于每个用户,我想在“用户名”类型的句子中显示用户名和电子邮件 [EMAIL PROTECTED]“。

如果您希望向用户显示有关自己的信息,可以使用 get_currentuserinfo 用于检索用户姓名和地址的功能。 我没有在我的例子中使用这个功能,但创造力不知道限制,对吧? ;)

代码片段和小部件

6。 另类......档案!

更好的博客档案想象一下,如果您可以替换旧的侧边栏档案列表 - 随着您的博客增长而不断增长并强制用户滚动 - 使用您可以在右侧看到的片段。

难道不会让您的读者更容易一目了然地捕捉您的博客时代和档案深度吗? :)

我的未婚夫和我使用Codex的get_post和档案列表的简单下拉菜单编写了这个简单的片段。 我们创建了自己的功能,以使这个想法很好地运作。

<?php function formatPostDate($ postId,$ format ='%F'){$ post = get_post($ postId); $ output = strftime($ format,strtotime($ post-> post_date)); 返回$ output; function getLastPostID(){list($ post)= get_posts(array('posts_per_page'=> 1)); return $ post-> ID; 这个博客的帖子是<?php echo formatPostDate(1,'%B%e,%Y'); ?>。<br/>最后发表于<?php echo formatPostDate(getLastPostID(),'%​​B%e,%Y'); ?>。</ p> <p>您是否希望访问特定存档?</ p> <select name =“archive-dropdown”onchange =“document.location.href = this.options [this.selectedIndex]。 value;“> <option value =”“> <?php echo esc_attr(__('Select Archive')); ?> </ option> <?php wp_get_archives(array('type'=>'monthly','format'=>'option','show_post_count'=> 1)); ?> </ select>

这段代码有什么作用?

函数formatPostDate采用帖子的ID和日期格式,并以您选择的格式返回日期。 第二个函数getLastPostID获取仅包含一个帖子的帖子数组并返回其ID。

要获得博客的第一篇文章 - 通常使用ID = 1,我们在第一段中编写echo formatPostDate(1,'%B%e,%Y'):此代码使用formatPostDate函数并将post ID作为参数#1和日期的标准英文格式,并返回日期。

要获取博客的最后一篇文章,我们使用formatPostDate(getLastPostID(),'%​​B%e,%Y')来获取上一篇文章的ID和日期格式(再次,用英语)并打印日期屏幕。

7。 检查访问者是否使用移动设备

WP-Snippets.com上的Muneeb分享了一个有趣的代码片段(一个函数)来检查您网站上的访问者是否正在使用移动设备。

代码可用 请点击此处。.

此功能有助于移动优化,因为如果您只想向移动用户显示某些功能或将移动用户排除在某些网站功能之外,此功能非常有用。

8。 使用if / else构造来操纵页面边栏内容

此代码段基于WordPress的Codex,但我将其放在此部分中,因为它允许很多创造力,您可以在Web上找到现成的代码段。

假设您要在您的网站上使用多个侧边栏。 你可以用div和section填充你的侧边栏,但是文件越多(即使你使用小部件),它就会越重。

食品法典委员会带你去救援 get_sidebar($名) 功能。 用法很简单:

  1. 为您的报价摘要创建(比方说)侧边栏。 将其命名为sidebar-quotes.php
  2. 在主sidebar.php文件(或头文件或索引文件中,根据您的WP主题结构)编写get_sidebar(“quotes”); 包含“sidebar-quotes.php”文件。

如果你知道一些PHP编码的WordPress,你可以通过调用其他子边栏来获得更简洁的边栏,你可以使用if / else结构进行优化。

您可能不知道这一点,但是当您使用通用的get_sidebar()代码时,它将包含“sidebar.php”,因为您没有添加$ name参数。 这是默认用法。 在“sidebar * .php”之后添加“-name”时,可以使用$ name arg调用该名称addon。

如果您要在博客的某些页面上显示广告,特别优惠或侧边栏功能,或者会使标准侧边栏超载的代码,您会发现此代码段可以为用户体验提供终身保护。

9。 用于将代码段集成到WordPress站点的工具

codesnippets截图

代码段 是一个由Shea Bange创建的免费WordPress插件,允许您轻松地向您的博客添加代码片段。

这个插件的好处是你不再需要编辑你的 的functions.php 文件,但您可以直接从WordPress仪表板添加自定义代码。 基本上,您可以添加代码片段,就像添加新帖子或页面一样。

WPMUDev.org的Tom Ewer 写了一篇关于这个插件的有趣介绍,但到目前为止,我发现Code Snippets最有用的资源是 WordPress.org上的插件支持论坛.

给你!

在下面的评论中分享您的WordPress编码实验! 并随意提出有关本文中介绍的片段的问题。

关于Luana Spinetti

Luana Spinetti是一位自由撰稿人和艺术家,总部设在意大利,是一位充满激情的计算机科学专业的学生。 她拥有心理学和教育方面的高中文凭,并参加了3年的漫画书艺术课程,并从中毕业于2008。 作为一个多面的人,她对SEO / SEM和网络营销产生了浓厚的兴趣,特别倾向于社交媒体,她正在用母语(意大利语)制作三部小说,她希望独立出版很快。