月度归档:12 月 2018

WordPress一次列出当前文章/页面的所有自定义字段

WordPress中最重要的活用就是自定义字段,它几乎涉及到了一切现有的业务模块,无论你是电商网站还是用户社区,自定义字段无处不在。有时候我们需要在别人现成的代码或主题里面挖一些资料,进行再开发。那么就需要知道特定的页面上究竟可以有哪些字段资源可用。

还是用我们熟悉的get_post_meta命令,但是这次只给一个参数,就能调出所有的自定义字段了:

1
2
3
4
$myvals = get_post_meta($post_id);
foreach($myvals as $key=>$val){
    echo $key . ' : ' . $val[0] . '<br/>';
}

就是这么简单!

———————
2023年10月更新:

在评论区有朋友留言反映用以下一行代码列出字段更为简单:

1
the_meta();

这个方法在single页面的主循环中使用确实很简单有效,但它目前已经被官方文档标为弃用了,官方也是推荐一律使用get_post_meta方法调用自定义字段:
https://developer.wordpress.org/reference/functions/the_meta/

另外,经过对比the_meta方法输出的字段会过滤掉开头为下横杠”_”的字段名称,这类字段通常都是WordPress和WooCommerce等插件的保留字段,比如WooCommerce的这几个自己开发排序必用的字段:
_price – 价格
_wc_average_rating – 平均分
_wc_review_count – 评论数
都不在the_meta方法输出项内,所以建议还是不要用它了。

网站链接规划,什么时候在新窗口/标签打开页面,什么时候在当前页打开?

这是一个老话题,最近正好被客户问起过,索性整理一下想法。

我们的设计原则:如果没有任何条件,一律默认在原窗口跳转

以下是条件

主观条件

如果觉得当前页面对你的转化比较重要,不希望用户关闭打断转化,就用新窗口。比如商城网站,用户订单页面上就等着付款了,要展示个条款页面,肯定是用弹出新页了。其他带表单的页面也是如此,在这样的页面上要少放链接。不过这个主观条件容易被滥用,有些人会觉得自己每个页面都是重要的…

客观条件

目标页面没有跳回原页面的链接的,原页面上这个链接就要用新窗口/标签打开目标页。比如跳到站外的,那肯定是要新窗口了。

补充

因为鼓励尽量在原窗口跳转,所以站内也要尽量做好内链,比如导航设置合理、下级页面有返回上级页面的专门链接、面包屑链接,等等…方便用户能快速找到原页面位置。总之设计中要活用各种方便用户逛网站的手段,防止迷路。

最后,电脑端对用户来说或许多几个标签页无所谓,手机端打开多标签就非常不方便了。手机浏览器切换标签麻烦,标签多了卡顿也明显,所以在手机端尤其要遵守在站内避免打开新标签的原则。在微信等APP内置浏览器中更是没有新标签的功能,一定要想好怎样只用当前窗口做交互。如果怕造成转化损失,可以有这样的手段:

– 如果新页面内容不多,可以考虑用浮层展示,避免掉这个跳转。
– 如果新页面内容多,必须跳转的,除了打开新标签,还可以考虑用本地存储、Cookie等手段保留用户在原页面的数据,比如填到一半的表单数据,方便用户回来后继续填写。