如何生成显示标题并跳转的链接?基于WordPress Import All插件
解决WordPress导入Excel链接与标题的显示问题
你的需求是将导入的每行"链接","标题"格式内容,转换成显示标题文字、点击跳转对应链接的效果,只需修改现有代码中遍历部分的逻辑,利用PHP的str_getcsv()函数正确解析CSV格式的行内容,拆分出链接和标题即可。
修改后的完整代码如下:
if (!empty($materiales_complementarios)) { echo '<b>Materiales complementarios</b><br> '; echo '<ul>'; $materiales_complementarios_array = explode("\n", $materiales_complementarios); foreach ($materiales_complementarios_array as $mc) { // 去除行尾可能存在的多余点号(根据你的示例格式) $mc = rtrim($mc, '.'); // 解析CSV格式的行,拆分出链接和标题 $parts = str_getcsv($mc); // 确保拆分后有有效的链接和标题 if (isset($parts[0], $parts[1]) && !empty($parts[0]) && !empty($parts[1])) { $link = esc_url($parts[0]); // 用esc_url确保链接安全 $title = esc_html($parts[1]); // 用esc_html转义标题,防止XSS echo '<li>'; echo '<a href="' . $link . '" target="_blank">' . $title . '</a>'; echo '</li>'; } } echo '</ul>'; }
关键修改说明:
- 使用
str_getcsv():该函数能正确识别被引号包裹的字段,就算标题里包含逗号也能准确拆分链接和标题,比直接用explode(',')更可靠。 - 清理多余字符:用
rtrim($mc, '.')去除示例中行尾的点号,避免影响链接解析。 - 安全处理:用
esc_url()和esc_html()分别对链接和标题进行转义,符合WordPress的安全规范,防止恶意代码注入。 - 空值判断:增加
isset()和非空判断,避免因导入数据格式异常导致页面出错。
内容的提问来源于stack exchange,提问作者Juan Camilo Blandón Gutiérrez
相关产品推荐
相关产品推荐

