如何在PHP中调用WordPress标签并拼接至URL?
解决方法
因为get_the_tags()返回的是WP_Term对象数组,直接拼接会输出数组字符串导致URL无效,你需要取出数组中唯一标签的标识(比如slug或名称)来拼接。
修改后的代码如下:
<?php $tags = get_the_tags(); // 先判断是否存在标签,避免无标签时报错 if ($tags && !empty($tags)) { // 取第一个标签的slug(如果需要显示名称就用$tags[0]->name) $tag_symbol = $tags[0]->slug; $html = file_get_contents('https://www.trade-ideas.com/ticky/ticky.html?symbol=' . $tag_symbol); $start = strpos($html, '<div class="span3 height-325"'); $end = strpos($html, '<!-- /span -->', $start); if ($start !== false && $end !== false) { $data = substr($html, $start, $end - $start); echo $data; } } ?>
关键修改点:
- 增加标签存在性判断,避免无标签场景出现PHP错误
- 从标签数组中提取第一个标签的
slug(或name,可根据symbol参数需求选择),替换原直接拼接数组的错误写法 - 增加
strpos结果校验,防止找不到目标内容时substr执行出错
内容的提问来源于stack exchange,提问作者bondikho
相关产品推荐
相关产品推荐

