wordpress 获取页面id(wordpress怎么搜站点)

在WordPress中,页面ID是一个非常重要的参数。它可以帮助我们实现各种功能,比如自定义URL、创建短链接、在模板中定位页面等。今天,我就来给大家详细讲解一下如何在WordPress中获取页面ID,以及一些高级技巧。

一、WordPress页面ID简介

我们先来了解一下什么是页面ID。页面ID是WordPress数据库中为每个页面分配的唯一标识符。当你创建一个新页面时,WordPress会自动为它生成一个ID,这个ID将伴随该页面一生。

二、获取页面ID的几种方法

1. 通过编辑页面

最简单的方法是直接在编辑页面的界面中查看。在WordPress后台,进入“页面”菜单,找到你想要获取ID的页面,点击“编辑”。在页面编辑界面,你可以看到页面ID显示在页面的URL中,如下所示:

![页面ID](https://example.com/wp-content/uploads/2021/06/page-id.png)

2. 使用函数

如果你不想直接查看页面URL,可以使用以下函数获取页面ID:

“`php

// 获取当前页面的ID

$currentPageID = get_the_ID();

// 获取指定页面的ID

$specifiedPageID = get_page_by_title(‘关于我们’)->ID;

>

“`

3. 使用插件

有一些插件可以帮助你快速获取页面ID,比如“Page ID”插件。安装并激活该插件后,你可以在页面编辑界面看到一个“Page ID”字段,直接显示当前页面的ID。

三、页面ID的高级技巧

1. 获取所有页面的ID

如果你需要获取所有页面的ID,可以使用以下函数:

“`php

// 获取所有页面的ID

$allPageIDs = get_pages(array(‘sort_column’ => ‘post_title’));

foreach ($allPageIDs as $page) {

echo $page->ID . ‘
‘;

}

>

“`

2. 根据页面标题获取ID

有时候,你可能只知道页面标题,但需要获取它的ID。这时,可以使用以下函数:

“`php

// 根据页面标题获取ID

$pageID = get_page_by_title(‘关于我们’)->ID;

>

“`

3. 获取页面父级ID

有些页面可能属于某个父级页面。你可以使用以下函数获取页面父级ID:

“`php

// 获取页面父级ID

$parentId = get_post_ancestors($pageID)[0];

>

“`

四、总结

通过本文的讲解,相信你已经掌握了在WordPress中获取页面ID的方法。页面ID在WordPress中有着广泛的应用,熟练掌握它将有助于你更好地进行网站开发。希望本文对你有所帮助!

如何获取 WordPress 各类页面的链接

在WordPress中,获取各类页面的链接可以通过以下几种方法实现:

获取当前文章的链接:

使用 get_permalink函数来获取当前文章的永久链接。这个函数返回一个URL字符串,你可以直接输出它或者将其赋值给变量以供后续调用。示例代码:echo get_permalink;或者$link= get_permalink;获取特定文章的链接:

如果你需要获取特定文章的链接,可以通过传递文章ID给 get_permalink函数来实现。示例代码:echo get_permalink;其中$post_id是你想要获取链接的文章的ID。获取首页链接:

使用 home_url函数来获取WordPress网站的首页链接。这个函数返回一个URL字符串。示例代码:echo home_url;获取Page页面的链接:

对于自定义页面,你可以使用 get_page_link函数,通过传递页面ID来获取其链接。示例代码:echo get_page_link;其中$page_id是你想要获取链接的页面的ID。获取存档页面链接:

WordPress的存档页面的链接通常是通过WordPress的内置模板标签生成的。例如,对于按年存档的链接,你可以使用 get_year_link函数。示例代码:echo get_year_link;其中$year是你想要获取链接的年份。类似地,你可以使用 get_month_link、get_day_link等函数来获取按月、按日存档的链接。注意:以上函数和方法都需要在WordPress的模板文件或者插件中使用,因为它们依赖于WordPress的环境和全局变量。在自定义代码或者主题开发中使用这些函数时,请确保你的代码是在正确的上下文中运行的。

如何自定义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

Email

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');?>

如何利用robots.txt对wordpress博客进行优化

一、先来普及下robots.txt的概念:

robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不能被搜索引擎的漫游器获取的,哪些是可以被(漫游器)获取的。这个文件用于指定spider在您网站上的抓取范围,一定程度上保护站点的安全和隐私。同时也是网站优化利器,例如屏蔽捉取站点的重复内容页面。

robots.txt目前并不是一种标准,只是一种协议!所以现在很多搜索引擎对robots.txt里的指令参数都有不同的看待。

二、使用robots.txt需要注意的几点地方:

1、指令区分大小写,忽略未知指令,下图是本博客的robots.txt文件在Google管理员工具里的测试结果;

2、每一行代表一个指令,空白和隔行会被忽略;

3、“#”号后的字符参数会被忽略;

4、有独立User-agent的规则,会排除在通配“*”User agent的规则之外;

5、可以写入sitemap文件的链接,方便搜索引擎蜘蛛爬行整站内容。

6、尽量少用Allow指令,因为不同的搜索引擎对不同位置的Allow指令会有不同看待。

三、Wordpress的robots.txt优化设置

1、User-agent:*

一般博客的robots.txt指令设置都是面对所有spider程序,用通配符“*”即可。如果有独立User-agent的指令规则,尽量放在通配“*”User agent规则的上方。

2、Disallow:/wp-admin/

Disallow:/wp-content/

Disallow:/wp-includes/

屏蔽spider捉取程序文件,同时也节约了搜索引擎蜘蛛资源。

3、Disallow:/*/trackback

每个默认的文章页面代码里,都有一段trackback的链接,如果不屏蔽让蜘蛛去捉取,网站会出现重复页面内容问题。

4、Disallow:/feed

Disallow:/*/feed

Disallow:/comments/feed

头部代码里的feed链接主要是提示浏览器用户可以订阅本站,而一般的站点都有RSS输出和网站地图,故屏蔽搜索引擎捉取这些链接,节约蜘蛛资源。

5、Disallow:/?s=*

Disallow:/*/?s=*

这个就不用解释了,屏蔽捉取站内搜索结果。站内没出现这些链接不代表站外没有,如果收录了会造成和TAG等页面的内容相近。

6、Disallow:/?r=*

屏蔽留言链接插件留下的变形留言链接。(没安装相关插件当然不用这条指令)

7、Disallow:/*.jpg$

Disallow:/*.jpeg$

Disallow:/*.gif$

Disallow:/*.png$

Disallow:/*.bmp$

屏蔽捉取任何图片文件,在这里主要是想节约点宽带,不同的网站管理员可以按照喜好和需要设置这几条指令。

8、Disallow:/?p=*

屏蔽捉取短链接。默认头部里的短链接,百度等搜索引擎蜘蛛会试图捉取,虽然最终短链接会301重定向到固定链接,但这样依然造成蜘蛛资源的浪费。

9、Disallow:/*/comment-page-*

Disallow:/*?replytocom*

屏蔽捉取留言信息链接。一般不会收录到这样的链接,但为了节约蜘蛛资源,也屏蔽之。

10、Disallow:/a/date/

Disallow:/a/author/

Disallow:/a/category/

Disallow:/?p=*&preview=true

Disallow:/?page_id=*&preview=true

Disallow:/wp-login.php

屏蔽其他的一些形形色色的链接,避免造成重复内容和隐私问题。

10、Sitemap:http://***.com/sitemap.txt

网站地图地址指令,主流是txt和xml格式。告诉搜索引擎网站地图地址,方便搜索引擎捉取全站内容,当然你可以设置多个地图地址。要注意的就是Sitemap的S要用大写,地图地址也要用绝对地址。

上面的这些Disallow指令都不是强制要求的,可以按需写入。也建议站点开通谷歌管理员工具,检查站点的robots.txt是否规范。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享