Q&A
やりたいこと
パーマリンクの変更で、
カスタム投稿アーカイブ -> /movies/ カスタム分類アーカイブ -> /movies_category/カスタム分類ターム名/ カスタム投稿記事ページ -> /movies/カスタム分類ターム名/投稿名
となっているのを、
カスタム投稿アーカイブ -> /movies/ カスタム分類アーカイブ -> /movies/カスタム分類ターム名/ カスタム投稿記事ページ -> /movies/カスタム分類ターム名/投稿名
と変更させたいです。
基本的には下記の内容を参考に進めております。
カスタム投稿タイプの記事のURLにカスタム分類のタームを含める
現状
表示自体は上記URLに沿うことで実現できたのですが、
管理画面上の記事追加を行おうとした際にパーマリンクが表示されていないことがわかりました。
分かっていること
追加したコードを1つ1つコメントアウトをしていって確認をしたところ、
php
1add_filter( 'post_type_link', function( $permalink, $post, $leavename ) { 2 if ( $post->post_type == 'movies' ) { 3 $term = wp_get_post_terms( $post->ID, 'movies_category' )[0]->slug; 4 return "/movies/" . $term . "/" . $post->post_name . "/"; 5 } 6}, 10, 4 );
こちらのコードをコメントアウトすると、パーマリンクが表示されることがわかりました。
ただ、上記コードの中身をコメントアウトして、add_filterだけ残した時もパーマリンクが表示されないこともわかりました。(この問題の切り分けと対処法が合っているのでしょうか...)
php
1add_filter( 'post_type_link', function( $permalink, $post, $leavename ) { 2 // if ( $post->post_type == 'movies' ) { 3 // $term = wp_get_post_terms( $post->ID, 'movies_category' )[0]->slug; 4 // return "/movies/" . $term . "/" . $post->post_name . "/"; 5 } 6}, 10, 4 );
利用プラグイン
- カスタム投稿と分類については Custom Post Type UI を使っています。
- カスタム投稿のパーマリンク制御に Custom Post Type Permalinks を使っていましたが、今回の問題発生したタイミングで停止させました。
add_filterが悪いのか、それとも中身なのか、別の箇所なのか、問題の切り分けがうまくできず、大変苦戦しております。
ご教示いただけると幸いです。。
回答1件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2019/08/01 14:16