質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

解決済

1回答

932閲覧

【WordPress】記事を追加した際にその記事のタイトルとスラッグを使って特定のタクソノミーのタームに追加したいです。

akiyum

総合スコア29

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2017/12/15 09:42

編集2017/12/16 10:40

記事の掲題どおりなのですが、
カスタム投稿の記事を追加した際に、特定のタクソノミーにタームに追加したいと考えております。
(例えば、カスタム投稿タイプ“news”の記事名「投稿01(スラッグは“post01”として)」を作成した際に特定のタクソノミーにその情報を使ってタームが連動して追加される)

“wp_insert_term”にてタームを追加できることはわかったのですが、うまく連動して追加してもらえません。

イメージとしてはこの方のブログのやり方になるかなと思うのですが、参考にさせていただいているのですが
うまく追加がされない状態です。

https://pachihyo.com/2017/10/08/%E6%8A%95%E7%A8%BF%E6%99%82%E3%81%AB%E8%87%AA%E5%8B%95%E3%81%A7%E3%82%BF%E3%83%BC%E3%83%A0%E3%81%AE%E8%BF%BD%E5%8A%A0/

尚、URLの内容から参考にさせていただきましたコードは以下になります。

function add_taxonomy( $post_ID, $post ) { $title = $post->post_title; $slug = $post->post_name; $get_term = get_objects_in_term( $title, 'taxonomy' ); if ( !$get_term ) { // 同じタームがなかったら追加する wp_insert_term( // タイトル。本文、スラッグは同名のものを使用する $title, 'taxonomy', array( 'slug' => $slug // 投稿画面の右カラムに表示されるカテゴリ追加リンク ) ); } } add_action( 'publish_news', 'add_taxonomy', 10, 2 );

まったく同じようを転載というのも大丈夫かな?と思ったのでユニークになりそうな値に関してはこちらで変更しています。
カスタム投稿タイプ(news)を投稿時 ※ publish_newsがそれにあたるかなと思っています
taxonomyというカスタムタクソノミーに投稿したタイトルと、slugにてタームが自動で追加されるように書いています。

おそらくカスタム投稿の情報や引き出す条件などの設定によって上記情報をベースに作成すればできるかなと思うのですが、
イマイチ要領がつかめない状態になっております。

どなたかご教授いただけますと幸いです。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/12/15 22:23

URLのページを参考にして書いたコードを質問文に記載していただけますか。
akiyum

2017/12/16 09:30 編集

ご指摘ありがとうございます! 質問文に記載させていただきましたので、もしお手すきのときによろしければご確認いただけますと嬉しいです。
退会済みユーザー

退会済みユーザー

2017/12/16 10:09

記載いただいたコードは実際に動作を確認したコードということでよろしいでしょうか。
akiyum

2017/12/16 10:32

はい。そのとおりです。
akiyum

2017/12/16 10:41 編集

すみません、、引き続き調べてたのですが、wp_insert_term内にあります値が'term'ではなく'get_objects_in_term'内の引数と同じ 'taxonomy'にて動作確認がとれました。お手間をおかけしてしまい申し訳ありません。
akiyum

2017/12/16 10:38

初歩的なミスでお時間をとってしまいすみませんでした。また、質問へご回答いただきありがとうございました。
guest

回答1

0

自己解決

wp_insert_term内の設定値が間違っていました。こちら調整後うまく動作しました。
質問内容に記載されているコードも修正しこちらで動作確認がとれました。

投稿2017/12/16 10:43

akiyum

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問