2026-07-15 02:50:26
2025年8月24日,我们来到比利时的布鲁日旅行。这是去年我们在申请到法国申根签证后访问的第二个欧洲国家,从伦敦坐的欧洲之星穿越英吉利海峡终点到比利时的布鲁塞尔,酒店就在火车站内,都不用出火车站每是方便。
布鲁日位于比利时西北部,是一座保存完好的中世纪古城。这里拥有纵横交错的运河、古老的石桥、哥特式建筑和历史悠久的广场,因此被誉为“北方威尼斯”。乘坐游船穿行于老城区,是欣赏布鲁日独特风光的经典方式。一开始我还把这里记成了布鲁塞尔(Brussels)。后来重新整理照片和视频时才发现,照片中这些纵横交错的运河、古老的石桥以及临水而建的中世纪建筑,其实都属于布鲁日。布鲁日的英文是 Bruges,而布鲁塞尔是 Brussels,两个名字看起来有些相似,确实很容易混淆。 布鲁日还有一个很浪漫的别称——“北方威尼斯”。这座城市里分布着许多运河,游船会沿着水道穿过老城区,从水面欣赏两岸的建筑,是游览布鲁日非常经典的一种方式。 我们去的那天天气特别好,天空晴朗,阳光明亮,却不会让人感到过于闷热。蓝天、白云、绿树、古老的红砖建筑和安静的水面组合在一起,随手拍下来都像是一张明信片。 我们的运河游船大约持续了30分钟。2025年的成人船票约为每人15欧元。虽然时间不算长,但可以从水面欣赏布鲁日老城、石桥和沿岸的中世纪建筑,还是非常值得体验的。
2025年8月,布鲁日老城区这种约30分钟的运河游船,成人票大约是每人15欧元。 当时常见票价大致是: 成人及12岁以上:€15 4—11岁儿童:€9 4岁以下:免费 20人以上团队票:约 €12/人 布鲁日的几家游船运营商通常采用统一或非常接近的价格。部分旧攻略仍写成人€12,那更可能是较早年份的票价;有运营商公布的2024年个人票已经是€15,2025年6月的游客记录也显示成人票为€15,因此你在2025年8月24日乘船时,按每位成人约15欧元,约合当时£13左右来写最稳妥。游船不算很大,游客依次坐在船上,由船夫驾驶着缓慢前行。船夫也是导游,介绍着这座城市和这条河(他说:船上有55个国家的人,但是小船明显没那么多人,估计只是概数),船身距离水面很近,所以视角与走在岸边完全不同。平时站在街道上,只能看到建筑的正面;坐船经过时,则能看到许多房屋临水的一侧、隐藏在建筑之间的小庭院,以及一座座低矮的石桥。 有些桥洞很低,游船经过时,大家会下意识地低一下头。船从桥下穿过后,眼前又会突然出现一段新的河道,仿佛每经过一座桥,就进入了另一幅画面。 河岸两边的建筑保留着浓厚的欧洲古城风格。有些房屋直接建在水边,砖墙经过多年风雨,颜色显得古朴而自然;有些建筑旁种满了绿色植物,枝叶低垂到水面附近;远处还能看到教堂高塔,从老城区的屋顶之间伸向天空。 途中也看到了不少天鹅和水鸟。布鲁日的天鹅似乎已经成为这座城市的一部分,它们安静地停在岸边,或者缓慢地从船旁游过。阳光照在水面上,随着游船前进泛起一层层波纹,让整段旅程显得格外轻松。 30分钟其实并不算长,但节奏刚刚好。它不会像长时间乘船那样容易让人感到疲惫,又足以让我们从不同角度欣赏布鲁日老城。坐在船上不用赶路,也不需要一直查看地图,只需要看看两岸的风景,偶尔拿起手机拍下一段视频。 相比一些宏伟、繁忙的欧洲首都,布鲁日给人的感觉更加安静和精致。这里没有特别宽阔的大河,更多的是穿行于建筑之间的小运河;也没有现代都市的高楼,而是石桥、红砖房屋、教堂尖塔和沿岸绿树。 正因为如此,布鲁日很适合慢慢游览。可以在老城街道上散步,也可以找一家咖啡馆坐下来,当然也不能错过这段运河游船。 一年之后重新翻看当时的视频,仍然能够想起那天明亮的阳光、缓慢前行的小船,以及从桥洞下面穿过时看到的风景。 有些旅行并不需要安排得非常复杂。一座古城、一条运河、一段30分钟的船程,再加上一个晴朗的下午,就已经足够成为一段值得保存的记忆。 视频:油管/Youtube | B站/小破站 | 微博视频 | 公众号视频 | 西瓜视频 | 微信视频号 | X/推特 | 小红书 | Facebook
游船沿着绿树掩映的古老砖墙缓缓前行,感受布鲁日宁静的中世纪气息。[/caption]
[caption id="attachment_72095" align="alignnone" width="2048"]
阳光下的布鲁日运河,两岸的露天餐厅、老城建筑与蓝天倒映在水面上。[/caption]
[caption id="attachment_72096" align="alignnone" width="2048"]
从水面远眺布鲁日老城,阶梯形屋顶、古老砖墙与教堂尖塔构成经典的城市天际线。[/caption]
[caption id="attachment_72097" align="alignnone" width="2048"]
阳光照耀着运河边的木质山墙古宅,仿佛穿越回数百年前的布鲁日。[/caption]
[caption id="attachment_72098" align="alignnone" width="2048"]
乘坐游船近距离欣赏布鲁日宏伟的历史建筑,在狭窄水道中感受古城的厚重历史。[/caption]
爱之湖 Minnewater/贝居安会院 Begijnhof一带,布鲁日的天鹅非常有代表性。
[caption id="attachment_72099" align="alignnone" width="2048"]
布鲁日运河边悠闲栖息的天鹅,为这座“北方威尼斯”增添了几分浪漫。[/caption]
[caption id="attachment_72102" align="alignnone" width="2048"]
游船缓缓穿过低矮的古老石桥,桥洞几乎贴近头顶,大家都下意识地弯腰低头,也成为布鲁日运河之旅中很有趣的一段体验。[/caption]
[caption id="attachment_72105" align="alignnone" width="2048"]
游船从低垂的柳枝下缓缓穿过,树影与水光交织,仿佛驶进一条绿色隧道。[/caption]
布鲁日历史中心里的运河景色,应该属于游船经过的 Dijver、Groenerei 或附近河段。
[caption id="attachment_72104" align="alignnone" width="2048"]
沿着古老砖墙驶向布鲁日老城深处,远处的塔楼与两岸历史建筑构成典型的中世纪水城风景。[/caption]
[caption id="attachment_72103" align="alignnone" width="2048"]
运河边爬满藤蔓的古老房屋,在蓝天白云下展现出布鲁日安静而浪漫的一面。[/caption]
[show_file file="/var/www/wp-post-common/justyy.com/belgium.php"]
[show_posts keyword="比利时"]
英文:Cruising the Canals of Bruges | Venice of the North | Cruising the Canals of Bruges | Venice of the North
2026-07-14 03:34:16
来英国二十二年,第一次去了离剑桥最近的Stevenage Costco。会员制、大包装、仓储式购物体验都很新鲜,第一次就买了39件商品,花了377英镑。Costco的油价确实比附近便宜不少,不过加油站不支持Apple Pay,没带实体银行卡只能作罢。总体感觉,Costco更适合人口较多、储存空间充足的家庭。 第一次去Costco购物, 这里的量真大 英国二十二年,第一次逛Costco:一不小心花了377英镑 第一次去Costco购物:大包装、便宜油价和377英镑账单 剑桥开车一小时去Costco,第一次就买了39件 Costco初体验:东西便宜吗?适合什么样的家庭? 第一次逛Costco,终于明白为什么家里需要大冰柜 英国Costco购物初体验:量大、花得多,油价倒是真便宜 https://www.costco.co.uk/store-finder/Stevenage 地址: Gunnels Wood Rd, Stevenage SG1 2FW 电话: 01438 907580 Monday 10 am–8:30 pm Tuesday 10 am–8:30 pm Wednesday 10 am–8:30 pm Thursday 10 am–8:30 pm Friday 10 am–8:30 pm Saturday 9:30 am–6 pm Sunday 11 am–5 pm上周六,我们第一次去了 Costco 购物,算是人生第一次逛 Costco 吧。 来英国二十二年了,平时主要都是在一些价格比较亲民的超市购物,比如 Tesco(乐购)、Sainsbury’s(森宝利)等。 离剑桥最近的 Costco 在 Stevenage,单程开车大约需要一个小时。 Costco 是会员制超市,而且并不是所有人都能直接申请会员,通常需要符合特定的职业或资格要求,比如律师、教师、医护人员等。我这次是借朋友的会员卡进去的,一张卡可以带两个人入场。进门时需要出示或扫描会员卡,不过当天检查得并不是特别严格。 超市里面就像一个巨大的仓库,商品种类很多,包装也都特别大。因为每件商品的分量都不少,所以单看价格,感觉并不便宜。我们第一次去,一共买了39件商品,最后竟然花了377英镑。 媳妇说,感觉以后一个月可以来一次。我觉得,看来有必要在我的 Excel 家庭支出表里,专门为 Costco 增加一列了。 早就听说 Costco 的加油站油价比较便宜,所以买完东西后,我们还打算顺便把车加满。没想到到了加油站才发现,加油机需要先插入实体银行卡或信用卡。 我现在出门基本只带一部手机,平时都是使用 Apple Pay,但 Costco 加油站并不支持手机支付,因此最后只能作罢。 当天 Costco 的汽油价格是每升145.9便士,比附近其他加油站至少便宜5至6便士。按照一个50升的油箱来计算,每次在 Costco 加油,大约可以节省2至3英镑。虽然单次看起来不算多,但如果经常开车,长期积累下来也还是一笔钱。 总体来说,我觉得 Costco 更适合孩子比较多、家庭人口较多的家庭。因为很多商品的包装实在太大了,比如买回来的牛肉,都需要回家后用保鲜袋重新分装,再放进冰箱冷藏或冷冻,否则短时间内根本吃不完。 我还记得疫情刚开始的时候,媳妇曾经嚷嚷着,要在车库里放一个专门的冷冻柜,用来囤积食物,以备不时之需。现在看来,如果以后真的经常去 Costco,这个想法说不定还真有几分道理。 [caption id="attachment_72062" align="alignnone" width="864"]
39件377英镑,相当于我两次在Tesco Big Shop了。[/caption]
[caption id="attachment_72063" align="alignnone" width="1536"]
量大,整包的价格也不便宜,20几英镑的虾[/caption]
[caption id="attachment_72064" align="alignnone" width="1536"]
Costco的海鲜[/caption]
[caption id="attachment_72065" align="alignnone" width="1536"]
Costco的鸡看着不错,喂玉米长大的鸡。[/caption]
[caption id="attachment_72066" align="alignnone" width="1536"]
下面的五块牛骨头就得30几英镑[/caption]
[caption id="attachment_72067" align="alignnone" width="941"]
媳妇在挑肉,记得上一次这种类式的场景还是在Sheffield的Moor里。[/caption]
[caption id="attachment_72068" align="alignnone" width="2048"]
Costco也有卖Iphone的,会便宜一些?[/caption]
[caption id="attachment_72069" align="alignnone" width="2048"]
Costco有卖笔记本,会不会便宜一些?[/caption]
[caption id="attachment_72070" align="alignnone" width="2048"]
Costco的红酒[/caption]
[caption id="attachment_72071" align="alignnone" width="864"]
买了虾,一回家就水煮上了。[/caption]
[caption id="attachment_72072" align="alignnone" width="2048"]
Costco在Stevenege的大仓库,很多吃的,比如一大包的牛角包,买来根本吃不完,所以就没敢买。[/caption]
[caption id="attachment_72073" align="alignnone" width="2048"]
Costco还有换轮胎的服务,估计也会比外面便宜,毕竟Costco不是靠这个挣钱的。[/caption]
[caption id="attachment_72074" align="alignnone" width="2048"]
Costco会员制,一年几十英镑。[/caption]
[caption id="attachment_72075" align="alignnone" width="2048"]
开车近1小时,如果公共交通从剑桥过去得近5个小时了。没车真不行。[/caption]
[caption id="attachment_72076" align="alignnone" width="588"]
微信朋友圈很多朋友都对Costco购物很有共鸣[/caption]
[caption id="attachment_72077" align="alignnone" width="1536"]
Costco的大虾,来点辣椒油,真是绝美。[/caption]
2026-07-14 01:47:23
我在微软剑桥研究院工作已经五年多了。加入微软之前,我就在隔壁的亚马逊S3团队上班(当时加入亚马逊后只在公司三楼Hot Desk工作了三个多月疫情爆发就让在家办公了),所以当时还开玩笑说,自己只是换了一栋楼工作。五年间,我经历了疫情后的远程办公、办公室楼层调整、团队变动,也从五楼一路搬到了三楼和一楼。如今坐在靠窗的工位上,可以看到Station Road两侧的苹果、亚马逊、三星等科技公司。剑桥虽然不大,却聚集了众多科技巨头,也让我不必每天通勤伦敦,就能在本地拥有丰富的工作机会。 我在微软剑桥研究院工作的五年 换工作,只是换到了隔壁一栋楼 从亚马逊到微软:我的剑桥科技圈职场生活 微软剑桥办公室的五年变迁 在剑桥火车站对面上班是一种什么体验 我的微软五年:疫情、搬楼与窗外的Station Road 剑桥科技巨头扎堆,我在其中工作了五年 不用通勤伦敦:我在微软剑桥的工作日常 从五楼到一楼:我的微软剑桥工位变迁 剑桥虽小,科技公司却不少我在微软(剑桥研究院/MSRC)已经工作五年多了。 微软剑桥研究院位于英国剑桥火车站附近,离车站大约只有100码。严格来说,火车站正对面的其实是亚马逊办公楼,而微软就在亚马逊旁边。 加入微软之前,我正好在亚马逊的S3团队工作,办公室在亚马逊大楼的三楼。所以当年换工作的时候,我还开玩笑说,我并没有真正换地方上班,只是从一栋楼搬到了隔壁那栋楼。 刚加入微软时,我的工位在五楼。当时正值疫情,我入职一年以后,才真正开始去办公室上班。 最开始,我和经理商量好每周去公司两天。后来随着疫情逐渐结束,团队开始鼓励大家增加到办公室工作的时间,于是我也慢慢变成了每周去公司三天。 我在五楼时使用的是一间两人办公室,平时和另一位同事共用。不过,那位同事长期住在距离剑桥比较远的地方,所以很多时候办公室里只有我一个人。 疫情前,他有时会在剑桥工作一段时间,再远程工作一段时间。疫情以后,他大部分时间都改成了远程办公。 后来他偶尔回到办公室时,我们才发现桌面上的一些东西还停留在几年前(比如水瓶里的水,再不回来可能就要长青苔了),连放在公司车库里的自行车也因为很久没有骑,轮胎早就没气了。现在回想起来,这些也算是疫情时期留下的一些特殊印记。 后来,我们的工位从五楼搬到了三楼。 疫情以后,公司重新评估了办公空间的使用情况,发现并不再需要原来那么大的面积,于是逐步腾出了部分楼层。之后又经过了一段时间的整理和装修,到了2026年,Rightmove、Savills等房地产网站上已经可以看到21 Station Road部分办公空间的招租信息 / www.21stationroad.com [caption id="attachment_72045" align="alignnone" width="1337"]
剑桥地标21 Station Road办公室在Rightmove上招租[/caption]
微软在剑桥还有另一个办公地点,位于剑桥科技园。我原本也有可能搬到那边办公,没想到后来换了团队,于是继续留在火车站旁边的办公室。
不过,新团队主要在一楼工作,所以没过多久,我又从三楼搬到了一楼。
一楼的办公室通常是几个人共用一间。我比较幸运,被安排到了靠窗的位置。窗外正对着Station Road,可以看到对面的苹果办公楼,以及周边的三星、WeWork和亚马逊等公司的办公地点。
Station Road每天人来人往,非常热闹。每次坐到工位上,都能看到各式各样的行人从窗外经过。
今年夏天尤其炎热,街上的人也都换上了轻便的夏装。坐在窗边,看着外面的人流、车辆和街景,工作间隙偶尔抬头看看,也算是一种不错的放松。
和亚马逊一样,微软的办公区域里既有Hot Desk,也有几个人共用的办公室,当然也有一些独立办公室。
我原本以为,只有级别比较高的人才有机会使用独立办公室。后来听前经理说,如果确实有工作上的需要,也可以向经理提出申请,公司通常会根据实际情况进行安排。
只不过很多人对工位并没有特别要求,也懒得主动提,所以通常就是接受现有的安排。
既然如此,下次如果再有调整工位的机会,我也可以问问经理,看看是否有可能安排一间相对安静的独立办公室。
位于30 Station Road的苹果剑桥研发办公室,与微软剑桥研究院隔街相望。[/caption]
以上这张图是Iphone 15 Pro Max拍的,但是由于是拉进/Zoom In,所以画面模糊/像素点太低,我让ChatGPT变高清一下,果然不错。
[caption id="attachment_72052" align="alignnone" width="1672"]
苹果剑桥研发办公室,我这几年申请了好多次,每次都是被简历拒。[/caption]
顺便让ChatGPT来个卡通Ghibli风格。
[caption id="attachment_72053" align="alignnone" width="1672"]
苹果剑桥办公室在Station Road[/caption]
我也看到过一些报道,提到英伟达在Station Road附近设立了新的研发办公地点,不过我还没有认真确认具体位于哪一栋楼。苹果位于剑桥的人工智能、机器学习和硬件研发办公室就在微软剑桥研究院的对面。
苹果剑桥办公室位于 30 Station Road,就在微软剑桥研究院斜对面。这是一栋七层的研发办公楼,面积约7.9万平方英尺,可容纳最多约900名员工。不过,“可容纳900人”只是建筑容量,并不代表苹果目前在剑桥实际有900名员工。大楼于2022年完工,苹果随后从面积较小的90 Hills Road办公室迁到这里,显示出其在剑桥持续扩张研发团队的计划。 苹果在剑桥建立研发团队,与当地的人工智能产业关系密切。2015年,苹果收购了剑桥大学技术背景的语音人工智能创业公司 VocalIQ。这家公司专门研究自然对话和语音交互技术,收购后其团队继续留在剑桥,也成为苹果早期剑桥研发办公室的重要基础。早年的办公室因此经常被外界称为苹果的“Siri研发实验室”。 不过,现在的苹果剑桥办公室显然已经不只研究Siri。苹果近年的公开招聘信息显示,剑桥团队涉及语音、视觉和音频机器学习、Apple Intelligence与Siri评估、基础机器学习研究、健康人工智能、相机与图像算法,以及CPU设计验证和平台架构等方向。换句话说,这里已经发展成苹果在英国重要的人工智能、机器学习和芯片研发据点之一。现在回头看,剑桥虽然城市不大,但聚集的科技公司却相当多。除了苹果、微软、亚马逊、三星和英伟达,剑桥科技园里还有高通、博通和AMD等公司。 感觉全球主要科技公司中,已经有相当一部分在剑桥设立了团队、研发中心或者办公室。以后如果TikTok之类的公司也来剑桥设立研发团队,这里可能会更加热闹。 这些大型科技公司不断进入剑桥,或许也是剑桥这样一个规模并不算大的城市,房价和生活成本却一直很高的原因之一。 不过,对于已经生活在剑桥的人来说,本地拥有这么多科技公司,也确实带来了不少便利。 至少工作机会更多,不需要每天一大早挤火车通勤去伦敦,这一点还是很幸福的。 [show_file file="/var/www/wp-post-common/justyy.com/microsoft.php"] [show_posts keyword="微软"] 英文:Apple Office in Cambridge UK | Apple Office in Cambridge UK | Apple Office in Cambridge UK
2026-07-09 23:37:50
老大进入 Perse 读私校后加入了学校乐团,虽然每周五背着沉重的大提琴坐校车并不方便,也常有抱怨,但他还是坚持了下来。放假前,学校举办晚会,他随乐团留校排练并登台表演。作为第二乐器,大提琴对他来说并不轻松,但能坚持到目前 7 级,并和乐团一起完成演出,是一段值得记录的成长经历。 上个月,儿子参加了 The Perse School 的年度音乐活动 Perse Proms,并随 Sinfonietta 小交响乐团登台演出。节目包括 Klaus Badelt 的《加勒比海盗》选段,以及 Ronan Hardiman 的《Lord of the Dance》。这是一次很棒的校园音乐经历,不仅展现了学生乐团的合作与舞台表现力,也给我们留下了一段珍贵的成长回忆。 Last month, my son performed at The Perse Proms, the annual music celebration at The Perse School, as part of the Sinfonietta. The programme included extracts from Klaus Badelt’s Pirates of the Caribbean and Ronan Hardiman’s Lord of the Dance. It was a wonderful school music experience, showcasing the energy, teamwork, and confidence of the student orchestra, and it has become a precious family memory.老大自从进了 Perse 读私校之后,就加入了学校的一个乐团。每周五,他都要把大提琴背到学校。说实话,他一开始并不是很乐意,因为大提琴确实挺沉的,还得抱着它坐校车,非常不方便。虽然嘴上一直碎碎念,但还好,他还是坚持了下来。 放假前,学校举办了一场晚会。听媳妇说,这场晚会主要是为高年级毕业生庆祝,同时也安排低年级的乐团来表演助兴。那天下午放学后,娃没有坐校车回家,而是跟着乐团留在了学校。学校还给他们提供了免费的晚餐。 我等媳妇下班回家后,才一起赶去学校,所以到的时候稍微晚了几分钟。不过,看到儿子在台上表演,还是特别开心。一般来说,在乐团里拉大提琴的学生比拉小提琴的要少一些。毕竟大提琴体积大,携带不方便,而且价格相对也更贵。我那把普普通通的 Full Size 大提琴,也花了 2200 多英镑。一般来说,Full Size 的大提琴会陪伴孩子很久,甚至可能用一辈子;不像 3/4 或 Half Size 的琴,学完一个阶段后通常就会转手卖掉。 大提琴是娃的第二乐器,他也已经学了好几年了,目前在 7 级。他的第一乐器是钢琴,两年前就已经考过了 8 级。总体来说,虽然一路上有抱怨、有不情愿,但能坚持下来,并在学校晚会上和乐团一起登台表演,还是很值得记录的一段成长经历。 视频:油管/Youtube | B站/小破站 | 微博视频 | 公众号视频 | 西瓜视频 | 微信视频号 | X/推特 | 小红书 | Facebook [caption id="attachment_72026" align="alignnone" width="2048"]
Perse乐队表演,估计排练准备了一学期了[/caption]
[caption id="attachment_72025" align="alignnone" width="2048"]
大娃在乐团里是大提琴手。[/caption]
[show_file file="/var/www/wp-post-common/justyy.com/kid-learn-music.php"]
[show_posts keyword="大提琴"]
2026-07-04 20:52:01
这篇文章介绍了如何在 WordPress 中通过自定义短代码 show_posts,按关键词显示相关文章列表。该方法基于 WordPress 内置搜索机制,类似于 /?s=keyword 查询,并支持设置显示文章数量以及是否显示文章摘要。相比安装额外插件,这种方式更加轻量、可控,也更适合需要简单相关文章推荐功能的博客。 如何在 WordPress 中不用插件显示相关文章 用短代码在 WordPress 文章中插入相关文章 WordPress 自定义短代码:按关键词显示相关文章 轻量级 WordPress 相关文章功能实现 使用 WP_Query 创建 WordPress 相关文章短代码 不装插件,也能在 WordPress文章中显示相关文章 WordPress 文章内显示相关内容的简单方法 用内置搜索实现 WordPress 相关文章推荐 给 WordPress 添加一个轻量级 show_posts 短代码 WordPress 短代码实战:显示相关文章标题和摘要在 WordPress 中,你可以通过向主题的 functions.php 文件中添加代码来创建自定义短代码函数。建议将代码添加到子主题中,这样可以避免主题更新时被覆盖。 下面的示例添加了一个名为 show_posts 的短代码,你可以在文章中使用它来显示一组相关的文章。这些相关文章会通过 WordPress 内置的搜索机制获取,类似于 /?s=keyword 查询参数的效果。你还可以指定要显示的文章数量,并选择是否在列表中显示文章摘要。 与额外安装一个 WordPress 插件相比,这种短代码方式更加轻量,而且你可以完全控制代码本身。只要实现方式简单且安全,它通常也能减少不必要的性能开销。而且短代码比较灵活,你可以在文章中任意地方显示。插件一般只能在文章后面显示相关文章。 使用方法很简单:将下面的代码复制并粘贴到你的 functions.php 文件中。然后,在任意文章或页面中使用 show_posts 短代码,就可以插入相关文章列表。 比如:
[ show_posts keyword="wordpress" number="8" show_excerpt="true" ]
效果:
[show_posts keyword="wordpress" number="8" show_excerpt="true"]
如果不显示文章摘要:
[ show_posts keyword="php" number="5" show_excerpt="false" ]
效果:
[show_posts keyword="php" number="8" show_excerpt="false"]
默认显示8篇文章,默认不显示文章摘要。
function show___posts_func($atts) {
$atts = shortcode_atts(
array(
'keyword' => '',
'number' => 5,
'show_excerpt' => 'true',
),
$atts,
'show_posts'
);
$keyword = sanitize_text_field($atts['keyword']);
$number = max(1, min(20, intval($atts['number'])));
$show_excerpt = filter_var($atts['show_excerpt'], FILTER_VALIDATE_BOOLEAN);
if ($keyword === '') {
return '';
}
$query = new WP_Query(array(
'post_type' => 'post',
'post_status' => 'publish',
's' => $keyword,
'posts_per_page' => $number,
'ignore_sticky_posts' => true,
'no_found_rows' => true,
));
if (!$query->have_posts()) {
return '';
}
$output = '<ul class="show-posts-list">';
while ($query->have_posts()) {
$query->the_post();
$output .= '<li>';
$output .= '<a href="' . esc_url(get_permalink()) . '">';
$output .= esc_html(get_the_title());
$output .= '</a>';
if ($show_excerpt) {
$excerpt = get_the_excerpt();
if ($excerpt) {
$output .= '<br><small>' . esc_html(wp_trim_words($excerpt, 20)) . '</small>';
}
}
$output .= '</li>';
}
$output .= '</ul>';
wp_reset_postdata();
return $output;
}
add_shortcode('show_posts', 'show___posts_func');