在当今这个互联网时代,拥有一个独特的网站已经成为企业和个人展示自我、传递信息的重要途径。WordPress作为全球最受欢迎的博客和内容管理系统,为用户提供了丰富的功能和灵活性。而在WordPress中,自定义页面链接更是打造个性化网站体验的关键。本文将为大家详细介绍如何自定义WordPress页面链接,让您的网站焕发出独特的魅力。
一、什么是WordPress自定义页面链接?
在WordPress中,默认情况下,每个页面都有一个固定的链接地址,例如:http://www.yoursite.com/page-title/。这个链接地址通常由页面的标题和ID组成。这样的链接地址并不利于搜索引擎优化(SEO)和用户体验。因此,自定义页面链接就显得尤为重要。
自定义页面链接,顾名思义,就是将默认的链接地址修改为更加符合SEO和用户体验的地址。例如,将链接地址修改为:http://www.yoursite.com/products/。这样,不仅有利于搜索引擎优化,还能让用户更容易记住和分享您的网站。
二、如何自定义WordPress页面链接?
1. 使用SEO插件
WordPress中有许多SEO插件可以帮助我们自定义页面链接,例如:All in One SEO Pack、Yoast SEO等。以下以All in One SEO Pack插件为例,介绍如何自定义页面链接。
(1)安装并激活All in One SEO Pack插件。
(2)在插件设置页面,找到“General Settings”选项卡。
(3)在“Custom Post Slugs”部分,勾选“Enable Custom Post Slugs”选项。
(4)在“Custom Page Slugs”部分,勾选“Enable Custom Page Slugs”选项。
(5)保存设置。
(6)在页面编辑页面,点击“SEO”选项卡,在“Custom Page Slug”输入框中输入您想要的自定义链接地址。
2. 修改主题文件
如果您熟悉WordPress主题开发,可以通过修改主题文件来自定义页面链接。以下以WordPress默认主题为例,介绍如何修改主题文件自定义页面链接。
(1)找到主题文件夹中的“functions.php”文件。
(2)在文件中添加以下代码:
“`php
function custom_page_permalink($post_link, $id) {
$post = get_post($id);
if ($post) {
$post_link = str_replace(‘%postname%’, $post->post_name, $post_link);
}
return $post_link;
}
add_filter(‘post_link’, ‘custom_page_permalink’, 10, 2);
“`
(3)保存并上传“functions.php”文件。
3. 使用插件修改链接
除了SEO插件和修改主题文件,还有一些专门的插件可以帮助我们自定义页面链接,例如:Redirection、301 Redirects for WordPress等。
(1)安装并激活插件。
(2)在插件设置页面,根据需要设置自定义链接规则。
三、自定义页面链接的注意事项
1. 避免使用特殊字符和空格
在自定义页面链接时,尽量避免使用特殊字符和空格,以免影响链接的正常显示。
2. 简洁明了
尽量使自定义链接简洁明了,便于用户记忆和分享。
3. SEO优化
在自定义页面链接时,考虑搜索引擎优化,使用关键词丰富的链接地址。
4. 保持一致性
在自定义页面链接时,保持网站整体风格的一致性。
自定义页面链接是WordPress网站优化和个性化的重要手段。通过自定义页面链接,我们可以提升用户体验,优化搜索引擎排名,打造独特的网站形象。希望本文能帮助您更好地掌握WordPress自定义页面链接的技巧,让您的网站焕发出独特的魅力。
以下是一个简单的表格,总结了一些常用的自定义页面链接技巧:
| 技巧 | 描述 |
|---|---|
| 使用SEO插件 | 利用SEO插件自定义页面链接,例如AllinOneSEOPack、YoastSEO等。 |
| 修改主题文件 | 通过修改主题文件中的“functions.php”来自定义页面链接。 |
| 使用插件修改链接 | 使用Redirection、301RedirectsforWordPress等插件自定义页面链接。 |
| 避免特殊字符和空格 | 在自定义页面链接时,避免使用特殊字符和空格。 |
| 简洁明了 | 使自定义链接简洁明了,便于用户记忆和分享。 |
| SEO优化 | 在自定义页面链接时,考虑搜索引擎优化,使用关键词丰富的链接地址。 |
| 保持一致性 | 在自定义页面链接时,保持网站整体风格的一致性。 |
如何自定义WordPress文章,页面,标签和分类的固定链接
1.有自定义文章类型,希望自定义文章类型和默认的Post都在首页的主循环中显示。
2.有自定义文章类型(产品),首页主循环中只显示产品。
注意,本教程中只对应首页的主循环,即不适用首页一些侧边栏、或者自定义的文章查询区域。
将下面代码添加到主题的functions.php中即可
function ashuwp_posts_per_page($query){
//首页或者搜索页的主循环
if((is_home()|| is_search())&&$query->is_main_query())
//$query->set(‘post_type’, array(‘product’));//只显示product
$query->set(‘post_type’, array(‘post’,‘product’));//主循环中显示post和product
return$query;
}
add_action(‘pre_get_posts’,’ashuwp_posts_per_page’);
利用pre_get_posts钩子,不光可以实现本教程所需要的内容,还可自由发挥,改变主循环的其它一些参数。
比如仅仅想让首页的文章数量显示为5篇。
function ashuwp_posts_per_page($query){
//仅首页
if( is_home())
$query->set(‘posts_per_page’,5);//每页显示5篇
return$query;
}
add_action(‘pre_get_posts’,’ashuwp_posts_per_page’);
如何自定义wordpress文章的固定链接
WordPress是一款开源网站建设程序,因其强大的功能和可扩展性而大受欢迎。关于WordPress扩展,主要是其插件众多,可以使用不同功能插件来扩展网站需求。WordPress所有固有的内容类型非常有限,毕竟其开始是以博客系统为基础的。对于像企业站需要的产品类型,电影站需要的国家属性等,显示不便。现在推荐一款自定义内容类型/字段分类法插件–Pods可以扩展你所需要的内容类型。
pods是一款用在 WordPress上的自定义内容类型的插件,但是 pods拥有的功能却完全不限于此。pods能够扩展现有的内容类型,比如为用户资料(user)增加一个“电话”字段。此外,它还有权限管理功能,类似于“members”插件。此外,还有高级自定义内容类型,改变“标题”这个字段名称。再此外,它还有内容关系的功能。
这篇文章我们除了介绍 pods的使用方法以外,还会介绍内容类型的列表页,内容页的制作,pods字段的前台模板调用,增加内容类型到菜单等等。
扩展已有
WordPress默认有三大内容类型:文章(posts)、页面(page)、媒体(attachment),可能“用户(user)”也算一个内容类型,因为“用户”也可以扩展。默认的分类法有:分类目录(category)、标签(tag)。默认的内容类型和分类法在项目中字段经常不够用。
扩展文章字段
1、安装好 pods后,点击“pods管理-添加”,点击“扩展已有”、选择“内容类型(文章、页面,等等)”,下方选择“文章”,点击“下一步”。
2、点击“添加字段”,比如添加一个“文章来源”的文本类型的字段,这里有几个选框。
代表的含义为:
标签:显示在发布时候的名称,可以为中文。
名称:内部使用,存在数据库里的名称,可用于模板调用,只能为字母、数字、下划线,不能以数字开头。
描述:发布时对字段的简要说明,选填。
字段类型:字段的类型,如,文本框、文本区域、文件等等。
选项:该字段是否为必填。
3、点击“添加字段”,完成添加,点击“Save Pod”保存添加。
这个时候去发布文章看看,在下方就多了个文章来源字段了。快点去用同样的方法可以为页面、媒体、用户、评论添加自定义字段吧。
创建新的
创建新的内容类型
进入到 pods的添加界面,选择“创建新的”,接下来选择“自定义内容类型”。
标签填写内容类型名称,可以为中文,比如填写个“电影”,点击下面的“高级”,在 pod name填写内容类型的机读名称,点击“下一步”,完成一个自定义内容类型的创建,你可以在左边栏找到“电影”这个内容类型。
为自定义内容类型添加字段。新创建的自定义内容类型,默认拥有“文章”这个内容类型的所有字段,比如标题、内容、日期等等,我们是在这些基础上添加新的需要的字段,比如现在添加一些字段:海报、地区、时长、年份等等。再去发布“电影”,你会发现下方多了刚刚添加的这些字段。
创建好自定义内容类型后,你会发现还有很多标签页:“管理字段”、标签、管理界面、高级选项。
标签:在后台显示的标签,根据需要修改。
管理界面:管理内容类型在后台的显示,尝试把菜单位置改为更大的值试试看。
高级选项:对自定义内容类型的设置,请把“拥有归档”勾上。
创建自定义分类法
打开 pods的添加界面,选择“创建新的”,接下来选择“自定义分类法”。
标签填写分类法名称,可以中文,比如填写“电影类型”,点击下面的“高级”,在 pod name填写分类法的机读名称,点击“下一步”,完成一个自定义分类法的创建。
创建完成以后,有几个标签页,主要关注以下几个:
高级选项中,“层级”,表示该分类法是否有层级关系,打上勾相当于“分类目录”分类法,不打钩相当于“标签”分类法,我建议打上勾。“相关内容类型”,为这个分类法应用到哪一个内容类型,比如我这里,勾上了“电影”。我在发布电影的时候,在右边栏就可以有电影类型选择了。
其他字段:这是为自定义分类法添加字段,这个按照需要开启,比如你想为电影类型中的科幻片分类添加一个略缩图字段等等。
创建自定义设置页面—制作主题选项
有没有觉得做主题的时候,为主题添加选项比较麻烦,pods有个超简单的方法,使用自定义设置页面轻松搞定。
打开 pods的添加界面,选择“创建新的”,接下来选择“自定义设置页面”,标签填写页面名称,可以使用中文,比如填写“主题选项”,菜单位置由自己选:在设置菜单、外观菜单下,新菜单,我这里选择添加到外观菜单。点击下面的“高级”,在 pod name填写自定义设置页面的机读名称,点击“下一步”,这样就完成了一个自定义页面的创建。
创建完成以后,可以去添加一些字段,比如我添加了:网站 logo、网站标题、网站关键字、网站描述、统计代码、网站备案号字段,要注意字段类型。
接下来保存后看看你的左边栏对应的菜单位置吧。
好了,pods的基础功能就这么一些,这些功能网上很多插件都能实现,其实更重要的内容,还在于他的组件,pods的组件给 pods扩充了非常多的功能,这才是 pods真正的强大之处。
pods组件
高级自定义内容类型
进入“pods管理-组件”,启用“Advance Content Type”。
这个时候,到 pods的添加页面,多了一项“高级内容类型”,选择它,这里我重新建立一个电影内容类型。点击“下一步”完成创建。
创建完成之后,会发现默认有了一些字段,这就是 WordPress默认的字段,你可以修改或者删除它。
编辑好字段以后,再去看看其他标签页。下面主要介绍重要的设置:
“管理界面”的“管理界面样式”,可以自己写个 WordPress管理后台页面。
“高级选项”的“标题字段”,如果修改了标题字段,或者想要改变标题字段,请在这里选择。
高级内容关系
进入“pods管理-组件”,启用“Advance Relationships”,这个时候在添加内容关系字段以后,你可以看到多了几行,这些高级的内容关系,可以创建更加复杂的内容关系。
权限与角色管理
进入“pods管理-组件”,启用“Roles and Capabilities”,如果你用过 members插件,你会发现这功能和 members功能很相似,一样的强大。可以对所有的权限分角色的管理,可以添加、编辑、删除用户角色。
更多组件
pods管理后台还有其他实用的组件,更多的组件功能,不一一介绍,看组件名字大概能清楚他的功能。pods官方有提供其他组件,一些是单独的插件,一些是配合 pods工作的组件。
前端调用
模板命名
我发现,虽然很多人都会用自定义内容类型,但是内容类型的列表页不好做,即使做好,又该怎么放到菜单上显示出来,比如将“电影”列表页放在菜单中,自定义内容类型绑定了一个自定义分类法,又该怎么去显示分类法中某个分类下的文章,比如“科幻片”这个电影分类。
模板命名规则:
自定义内容类型模板命名规则:archive-{post_type_name}.php如 archive-movies.php
自定义分类法模板命名规则:taxonomy-{taxonomy_name}.php如 taxonomy-movie_type.php
自定义内容类型内容页模板命名规则:single-{post_type_name}.php如 single-movies.php
将内容类型加入到菜单,需要安装一个插件“Custom Post Type's Archive in WP Nav Menu”,安装好之后,没有任何设置界面,进入到“外观-菜单”,你可以发现菜单编辑区域的左边有了一个custom post type archives,现在内容类型就在这里了,如果你发现内容类型不在这,那就请到 pods的内容类型管理界面的高级选项中确认你的“拥有存档”这个选项已经打上勾了。
注:可能由于缓存问题,如果发现添加了内容类型到菜单后,前台点击内容类型的菜单出现404页面,请到“设置-固定链接”,点击一下保存即可。
数据调用
后台配置好,其实最主要的,还是要能够显示出来才是最重要的,pods的显示方法有三种:
短代码方式显示,短代码请参考 pods短代码文档,配合 pods官方提供的 magic tags。
利用 pods的“page”和“template”组件,这两个组件可在 pods组件中开启,请参考文章。
利用模板函数,即将重点介绍。
这里只介绍模板函数方式调用 pods数据,因为这才是做主题开发时能使用的东西。
输出函数
Pods显示数据函数
pods_field_display($pod,$post->ID,'$field)
关于该函数的文档,请查看 pods官方文档。
function pods_field_display($pod,$id= false,$name= null,$single= false)
参数数据类型备注
$pod(string) Pod name,即为 pods机读名称
$id(mixed)(选填)某篇文章ID或slug,以查询该篇文章数据
$name(string|array)字段名称,或者关联数组的参数
$single(boolean)(选填)是否以数组的形式返回
图像字段输出函数
pods_field_display()不会真正的显示出一张图片,而是显示出图片的 URL,pods特地为图片显示定义了一个函数:
pods_image($image,$size='thumbnail',$default= 0,$attributes='',$force= false)
关于该函数文档,请查看官方文档。
function pods_image($image,$size='thumbnail',$default= 0,$attributes='',$force= false)
参数数据类型备注
$image(array|int|string)图片字段的数组,或ID,或guid
$size(string|array)图片大小样式
$default(int)如果图片不存在,则显示该图片$default
$attributes(string|array)图片属性(内部通过 wp_get_attachment_image获取)
$force(boolean)强制规定大小
图片有单张图片和多张图片,如不清楚单张与多张,请到 pods添加字段查看。如果字段是多张图片,那么会返回一个数组,所以,输出图像字段的代码为:
单张图片字段示例代码:
<?php
echo pods_image( get_post_meta($post->ID,$image_field_name, true),’original’);
?>
多张图片字段:
<?php
$images=get_post_meta($post->ID,’images’);
foreach($images as$image)
{
echo pods_image($image,’original’);
}
?>
输出字段注意事项:
yes/no字段:后台勾选“是”输出 1,不勾选输出空值。
Code字段:可执行 php脚本代码,输出 php代码执行结果。
Website字段:本人无法输出该字段内容,请勿使用。
因为 pods自定义字段也属于 WordPress内部自定义字段,所以依然可以使用 WordPress的 get_post_meta()输出,但是也并不是所有字段都能输出,经过测试,可直接使用 get_post_meta()函数输出的字段有:
Phone
Password
Pptext
Date time
Pnumber
Currency
Color
对于其他字段,请使用 pods_field_display();
模板代码段示例
在主循环中
代码示例:
<?php if(have_posts()):while(have_posts()): the_post();?>
<h1>
<a href=””>
<?php the_title();?>
</a>
</h1>
<!–标题–>
<div>
<div>
<span>年份:</span>
<?php echo pods_field_display('movie',$post->ID,'time');//显示(年份)time字段?>
</div>
<div>
<span>区域:</span>
<?php echo pods_field_display('movie',$post->ID,'zone');//显示(区域)zone字段?>
</div>
<div>
<span>时长:</span>
<?php echo pods_field_display('movie',$post->ID,'how_long');//显示(时长)how_long字段?>
<span>分钟</span>
</div>
<div>
<span>海报:</span>
<?php echo pods_image( get_post_meta($post->ID,'poster', true),'original');//显示海报字段?>
</div>
</div>
<!–显示自定义字段–>
<div>
<?php the_excerpt();?>
</div>
<!–内容摘要–>
<?php endwhile;endif;?>
万能循环示例代码
<?php query_posts('showposts=5&post_type=movie');while(have_posts()): the_post();?>
<h1>
<a href=””>
<?php the_title();?>
</a>
</h1>
<!–标题–>
<div>
<div>
<span>年份:</span>
<?php echo pods_field_display('movie',$post->ID,'time');//显示(年份)time字段?>
</div>
<div>
<span>区域:</span>
<?php echo pods_field_display('movie',$post->ID,'zone');//显示(区域)zone字段?>
</div>
<div>
<span>时长:</span>
<?php echo pods_field_display('movie',$post->ID,'how_long');//显示(时长)how_long字段?>
<span>分钟</span>
</div>
<div>
<span>海报:</span>
<?php echo pods_image( get_post_meta($post->ID,'poster', true),'original');//显示海报字段?>
</div>
</div>
<!–显示自定义字段–>
<div>
<?php the_excerpt();?>
</div>
<!–内容摘要–>
<?php endwhile;wp_reset_query();?>
自定义设置页面(调用主题选项数据)
请注意$id参数为 pods-settings-{slug_name},比如我的 pods name为 theme_option,那么$id的实参应该为'pods-settings-theme_option'。
<?php echo pods_field_display('theme_option','pods-settings-theme_option','site_logo');?>
<?php echo pods_field_display('theme_option','pods-settings-theme_option','site_title');?>
<?php echo pods_field_display('theme_option','pods-settings-theme_option','site_keyword');?>
<?php echo pods_field_display('theme_option','pods-settings-theme_option','site_description');?>
<?php echo pods_field_display('theme_option','pods-settings-theme_option','site_tongji');?>
<?php echo pods_field_display('theme_option','pods-settings-theme_option','site_beian');?>
如何自定义WordPress的登录页面
方法如下:
1.设计一个引人注目的登录标志
默认的WordPress登录标志由尺寸为80*80的“WordPress”字符组成。现在需要用设计的标志来代替默认的,应该事先将一个存储格式为.png的标志图像保存到“登录”文件夹中,注意图片尺寸可以和默认的一样也可以自定义。然后要在functiond.php文件的底部加上如下代码:
标志应该具有较强吸引力和较高的清晰度。此外,它最好和网站相关并且能告诉用户网站是一个怎样的网站。
2.改变标志图像的URL
如果想要改变标志图像URL并让它不再链接到WordPress主页,可以采取如下操作。需要使用如下示例代码去更换网站URL。
也可以通过对上面的代码做一个小的改动来更改标题标签,具体代码如下:
3.定制一个独特的样式表
完成图像标志定制之后,你需要进行样式表的定制。首先,要创建一个login_stlye.css文件然后在一个喜欢的编辑器中打开它。现在在新建的文件中加入如下代码。
这些代码能够帮助定制背景图片的尺寸和颜色,登录标签和登录表单。里面包含的参数仅供参考,可以根据自己的需要进行更改。
事实上,为了让改动生效,还要把下面的代码添加到functions.php文件中.
使用插件
使用代码来定制一个令人满意的登录页面是一种比较刻板的方法。有的人可能会觉得这样比较麻烦也不想花费心思去做。这种情况的话,一些WordPress插件可能会帮上你的忙,例如Custom Login, A5 Custom Login Page和 MS Custom Login。接下来我们就给大家仔细介绍一下这三种插件。
Custom Login用于登录屏幕定制,用户Hask密钥登录、邮件用户名登录和两步认证。这款插件已经被评为最受欢迎的用来自定义WordPress登录页面的插件之一。
A5 Custom Login Page提供给想要把登录页面设计到最好的用户。这款插件能够帮助设计引人注意的标志和你想要的页面风格。此外,这款插件的开发者允许用户在插件上复制粘贴整个样式表。
MS Custom Login能够帮助设计登录标志,背景图片,登录按钮的颜色等等。更重的是通过它你也可以使用一系列的登录表单尺寸。







