在当今这个信息爆炸的时代,网站已经成为了企业、个人展示自我、展示产品的最佳平台。而WordPress作为全球最受欢迎的博客平台,其强大的功能更是让无数网站开发者趋之若鹜。在WordPress的世界里,我们经常需要获取自定义字段的数据,如何轻松获取自定义字段呢?下面,就让我来为大家揭秘WordPress获取自定义字段的技巧吧!
一、什么是自定义字段?
在WordPress中,自定义字段(Custom Fields)是一种非常强大的功能,它允许我们在文章、页面或其他自定义类型中添加额外的信息。这些信息可以是我们自己定义的任何内容,比如文章的作者、发布时间、分类、标签等。
二、获取自定义字段的方法
获取自定义字段的方法有很多,下面我将为大家介绍几种常用方法。
1. 使用WordPress内置函数
WordPress内置了一些函数,可以帮助我们获取自定义字段的数据。以下是一些常用的函数:
- get_post_meta():获取文章、页面或其他自定义类型中的自定义字段数据。
- get_post_custom():获取文章、页面或其他自定义类型中的所有自定义字段数据。
- get_post_custom_values():获取文章、页面或其他自定义类型中的指定自定义字段数据。
以下是一个示例代码:
“`php
// 获取文章ID为1的自定义字段’my_custom_field’的值
$custom_field_value = get_post_meta(1, ‘my_custom_field’, true);
// 获取文章ID为1的所有自定义字段数据
$custom_fields = get_post_custom(1);
// 获取文章ID为1的’my_custom_field’和’my_second_custom_field’字段的值
$custom_field_values = get_post_custom_values(1, array(‘my_custom_field’, ‘my_second_custom_field’));
“`
2. 使用插件
除了使用WordPress内置函数外,我们还可以使用一些插件来帮助我们获取自定义字段。以下是一些常用的插件:
- Advanced Custom Fields (ACF):这是一个非常强大的插件,可以创建各种自定义字段,并轻松获取其数据。
- Custom Field Template (CFT):这是一个简单易用的插件,可以帮助我们创建和编辑自定义字段模板。
- Meta Box:这是一个轻量级的插件,可以创建和编辑自定义字段。
3. 使用主题钩子
WordPress主题钩子(Hooks)是一种非常灵活的方式来获取自定义字段数据。以下是一个示例:
“`php
// 在输出前获取自定义字段数据
add_action(‘the_content’, ‘my_custom_field_data’);
function my_custom_field_data($content) {
// 获取文章ID
$post_id = get_the_ID();
// 获取自定义字段’my_custom_field’的值
$custom_field_value = get_post_meta($post_id, ‘my_custom_field’, true);
// 将自定义字段数据添加到中
$content .= ‘
自定义字段值:’ . $custom_field_value . ‘
‘;
return $content;
}
“`
三、自定义字段的应用场景
自定义字段在WordPress中的应用场景非常广泛,以下是一些常见的应用场景:
- 产品展示:在产品详情页面添加自定义字段,如产品价格、库存、规格等。
- 文章分类:为文章分类添加自定义字段,如分类描述、标签等。
- 用户资料:为用户添加自定义字段,如生日、兴趣爱好等。
- 文章标签:为文章标签添加自定义字段,如标签描述、标签分类等。
四、总结
通过本文的介绍,相信大家对WordPress获取自定义字段的方法有了更深入的了解。在实际应用中,我们可以根据自己的需求选择合适的方法来获取自定义字段数据。希望本文能对大家有所帮助!
方法 | 描述 | 优点 | 缺点 |
---|---|---|---|
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
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 万能采集方法,实现任何网站都能采集!
WordPress万能采集方法概述
在WordPress中,通过采集可以获取大量文章资源,但需注意,直接照搬他人内容不仅不道德,还可能对SEO产生负面影响。因此,采集应作为获取底稿的方式,后续需优化完善内容。以下是一套较为通用的WordPress采集方法,旨在帮助用户从任何网站采集内容。
一、准备工具
火车头采集工具:用于从目标网站抓取数据。Office套件:如Word或Excel,用于处理和整理采集到的数据。WordPress插件:Import Export Lite:用于将处理后的数据导入WordPress。二、采集步骤
分析目标网站
确定要采集的内容部分,通常是以分类为中心,而非首页。
观察分类页面的URL结构,找出分类标签和分页逻辑。例如:(分类标签为/news),(分页逻辑为/_2表示第二页)。
若目标网站未显示分页URL变化,可尝试添加常见的分页URL段,如/page/2。
设置火车头采集规则
打开火车头,选择向导添加采集规则。
使用批量添加URL功能,将目标网站的URL粘贴进去。
在链接的分页数字处用“地址参数”表示,并设置采集的页数。可通过测试翻页总数或直到页面404来确定页数。
确定采集页面逻辑,观察文章URL的变化,找出文章的固定格式(如url+文章id+.html)。
在火车头的链接采集规则中添加“包含.html”的要求,以获取准确的文章地址。
采集内容
点击网址采集,获取需要的链接。
检查网址的可用性,确保网址段落完整。
编写采集规则,使用开发者工具检查文章内容是否在源代码中展现。
使用焦点工具获取源代码位置的标签,设置开始标签和结束标签,以采集所需内容。
采集完成后,可在任务数中查看采集到的文章数量,并复制到Word文档中进行处理。
处理采集到的数据
在Word文档中,使用替换功能删除段落标记和手动换行符,以便将数据导入Excel。
将处理后的数据复制到Excel中,进行进一步的整理和分析。
导入WordPress
在WordPress后台安装并激活Import Export Lite插件。
选择新的导出,导出内容选择文章,并自定义字段。
打开下载的CSV文件,匹配文章内容和标题部分。
回到WordPress后台,选择新的导入,上传文件。
插件会自动识别字段信息,选择导入类型为文章,并进行字段映射。
填写主要字段和自定义字段后,点击下一步导入。
在“更新现有字段”中选择更新所有内容,完成导入。
三、特别注意事项
在导入数据前,务必在测试网站上确认无误,以免对生产环境造成不必要的麻烦。备份数据库是一个好习惯,以防万一出现问题时可以恢复。采集内容时应尊重原作者的版权,避免直接照搬或恶意侵权。采集到的内容应作为底稿进行优化和完善,以提升文章质量和SEO效果。四、图片展示
以下图片展示了火车头采集工具的设置过程、采集到的数据以及导入WordPress后的效果:
通过以上步骤和注意事项,您可以实现WordPress的万能采集方法,从任何网站获取所需内容。但请务必遵守相关法律法规和道德规范,尊重原作者的版权。
如何为 WordPress 老文章自动添加特色图像
现在不同的 WordPress主题获取缩略图的方法不一样,有的使用自定义字段,有的使用 timthumb脚本,还有的使用WordPress 3.0以后的特色图像功能……这就造成了一个问题:更换新主题后,由于缩略图的获取方法不一样,老文章的缩略图设置也不一样,这就可能造成某些老文章没有显示缩略图。
wpdaxue.com-201303451
如果你的新主题是使用 WordPress 3.0以后的特色图像功能来设置缩略图的,发布新文章时,你可以手动选择特色图像,但是如果老文章没有设置过特色图像,你应该不情愿重新编辑老文章选择特色图像吧,那你可以使用 Easy Add Thumbnail插件,来为你的老文章自动添加特色图像。
Easy Add Thumbnail简介
Easy Add Thumbnail是一个为 WordPress文章添加特色图像作为缩略图的插件,在倡萌看来,它的最大用处在于:自动为你的老文章添加特色图像作为缩略图。
实现方式:当有人在网站前台访问了你的老文章,而老文章没有设置过特色图像,那么它就会自动将这篇文章的第一张图片设置为特色图像(只执行一次)。当然,对于新文章,你可以手动设置特色图像,如果不设置,就被当做老文章一样处理了。
使用前提:①主题必须是使用特色图像功能来设置缩略图;②老文章的图片必须在媒体库(后台–多媒体–媒体库)中有记录,如果是外链图片,在媒体库中没有记录,或者文章没有图片,那这个插件就无法正常为你工作。
Easy Add Thumbnail下载安装
可以直接在后台插件安装页面搜索 Easy Add Thumbnail在线安装,或者在此下载 Easy Add Thumbnail。
直接启用即可,没有任何设置页面。
倡萌建议:如果你是直接在WP后台发布文章,最好从一开始就手动为你的每篇文章设置特色图像,养成好习惯。