支持 Gatsby + WordPress 用于日本语的投稿
Background.
嘎茨比真是太棒了。
可以轻松地创建静态网站,并且如果能熟练使用React.js,还能自定义性十分出色。
欠点としてはworedpressのように記事を管理する機能(CMS)がないことです。
それを補う方法としてgatsbyにはプラグインとしてgatsby-source-wordpressが用意されており、このプラグインはwordpress APIを使って既存のwordpressのサイトからAPI経由で記事を持ってくることができます。

与gatsby-theme-wordpress-mdx一起使用时,您可以在瞬间内创建静态网站(有关详细步骤,我会在另一篇文章中分享)。
问题

看起来好像无法支持URL编码。
解决方案
我在客户端尝试了各种解决方案,但似乎无法解决,因此我将在WordPress这边进行处理。
只要网址中不含有日语即可。
如果正常使用WordPress,现在存在的是称为“slug”的部分会自动附加在WordPress文章的URL末尾,并且是用日语。
请用中文将以下内容进行本地化改写,只需一种选项:
http://[domain]/2021/02/20/[slug部分请填写在这里]/
因此,你可以修改WordPress中的function.php文件,将slug部分从日语改为post-[id]。
function auto_post_slug( $slug, $post_ID, $post_status, $post_type ) {
if ( preg_match( '/(%[0-9a-f]{2})+/', $slug ) ) {
$slug = utf8_uri_encode( $post_type ) . '-' . $post_ID;
}
return $slug;
}
add_filter('wp_unique_post_slug', 'auto_post_slug', 10, 4 );
之後,從URL中移除日文,這樣客戶端應該就能正常地查看發布的文章。