Kami menggunakan react-router-sitemap untuk membuat peta situs secara dinamis. Kami terjebak dengan menambahkan rute secara dinamis dari blog kami. Kode mengembalikan output dengan benar, tetapi tidak menambahkan link artikel ke peta situs, berikut kodenya:
import React, { useEffect } from 'react';
import {Switch, Route} from 'react-router-dom';
import HomePage from './homePage/HomePage';
import Projects from './projects/Projects';
import Project from './projects/MobileProject/project/Project';
import Contact from './contact/Contact';
import Job from './job/Job';
import Blog from './blog/Blog';
const fetch = require("node-fetch");
const API = "http://wp.mysite.in.ua";
function generatePostsRoutes() {
console.log("generating posts ...");
let posts = [];
fetch(API + "/wp-json/wp/v2/posts")
.then((response) => response.json())
.then(content => {
posts = content;
console.log(posts.map((value) => <Route exact path={"/blog/article/" + value.slug} component={Blog} />));
if(posts.length !== 0) {
return (
posts.map((value) => <Route exact path={"/blog/article/" + value.slug} component={Blog} />)
);
}
});
}
export default (
<Switch>
<Route exact path="/" component={HomePage}/>
<Route exact path="/projects" component={Projects}/>
<Route exact path="/project" component={Project}/>
<Route exact path="/blog" component={Blog}/>
<Route exact path="/blog/:sortId" component={Blog}/>
{
generatePostsRoutes()
}
<Route exact path="/job" component={Job}/>
<Route exact path="/contact" component={Contact}/>
</Switch>
);
Ini peta situs kami, kami ingin menambahkan tautan blog setelah <url> <loc>http://mysite.in.ua/blog/:sortId</loc> </url>
:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:news="http://www.google.com/schemas/sitemap-news/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url> <loc>http://mysite.in.ua/</loc> </url>
<url> <loc>http://mysite.in.ua/</loc> </url>
<url> <loc>http://mysite.in.ua/projects</loc> </url>
<url> <loc>http://mysite.in.ua/project</loc> </url>
<url> <loc>http://mysite.in.ua/blog</loc> </url>
<url> <loc>http://mysite.in.ua/blog/:sortId</loc> </url>
<url> <loc>http://mysite.in.ua/job</loc> </url>
<url> <loc>http://mysite.in.ua/contact</loc> </url>
</urlset>
Terima kasih atas waktunya, saya akan sangat senang jika Anda dapat membantu kami)