使用WordPress REST API在React中无法添加指向原文章的跳转链接
问题根源
WordPress REST API 返回的文章字段结构有明确区分:
title、excerpt、content这类富文本字段,值为对象,实际渲染内容存在其rendered属性下link字段本身就是直接存储文章永久链接的纯字符串,不存在.rendered子属性
你代码里写的{link.rendered}实际取值为undefined,自然无法正常显示链接地址。
修复方案
- 直接使用解构得到的
link变量作为跳转地址即可,不需要追加.rendered - 可以按需给文章标题、单独的「阅读更多」按钮绑定该跳转地址
修正后的完整代码如下:
import React, { Component } from 'react' export class WordpressBlogItems extends Component { state = { isLoaded: false } render() { const { title, excerpt, link } = this.props.blog; return ( <div className='post'> {/* 可给标题绑定跳转 */} <h2> <a href={link}>{title.rendered}</a> </h2> {/* 测试链接直接输出link即可 */} <p>Test link is : {link}</p> <div dangerouslySetInnerHTML={{__html: excerpt.rendered}}></div> {/* 自定义阅读更多跳转按钮 */} <a href={link} className="read-more-btn">阅读更多</a> </div> ) } } export default WordpressBlogItems
补充说明:如果需要修改WordPress摘要自带的默认「阅读更多」文本或跳转逻辑,可以在注册文章类型时自定义REST接口的摘要输出,也可以在前端拿到
excerpt.rendered字符串后通过正则替换对应节点的属性和内容。
内容的提问来源于stack exchange,提问作者Pilgrimiv
相关产品推荐
相关产品推荐

