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

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

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

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

681閲覧

カスタム投稿をプラグイン化しましたが、タグ・カテゴリーの部分でエラーが出ます。Wordpress4.9.4

matcha358

総合スコア15

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/02/20 04:55

編集2018/02/20 05:08

背景としまして
テーマ内function.php 内にタグ・カテゴリーを

php

1//------------------------------------------- 2// カスタムタクソノミーを作成 3//------------------------------------------- 4//カテゴリータイプ 5$args = array( 6'label' => 'カテゴリー', 7'public' => true, 8'show_ui' => true, 9'hierarchical' => true 10); 11register_taxonomy('samplecat','sample',$args); 12 13//タグタイプ 14$args = array( 15'label' => 'タグ', 16'public' => true, 17'show_ui' => true, 18'hierarchical' => false 19); 20register_taxonomy('sampletag','sample',$args);

上記の様に記載しております。
これは問題なく動作しておりますが、今回プラグイン化しました。
プラグイン名は custom-post-sample.php としました。

そのまま移植した結果上記以外の部分を削除しますと正常に動作します。
しかし上記をそのまま記載しますと下記のエラーが出ます。

Fatal error: Uncaught Error: Call to a member function add_rewrite_tag() on null in /var/www/html/wp_design/wp-includes/rewrite.php:172 Stack trace: #0 /var/www/html/wp_design/wp-includes/class-wp-taxonomy.php(379): add_rewrite_tag('%samplecat%', '([^/]+)', 'samplecat=') #1 /var/www/html/wp_design/wp-includes/taxonomy.php(386): WP_Taxonomy->add_rewrite_rules() #2 /var/www/html/wp_design/wp-content/plugins/sample/custom-post-sample.php(74): register_taxonomy('samplecat', 'sample', Array) #3 /var/www/html/wp_design/wp-settings.php(305): include_once('/var/www/html/w...') #4 /var/www/html/wp_design/wp-config.php(93): require_once('/var/www/html/w...') #5 /var/www/html/wp_design/wp-load.php(37): require_once('/var/www/html/w...') #6 /var/www/html/wp_design/wp-admin/admin.php(31): require_once('/var/www/html/w...') #7 /var/www/html/wp_design/wp-admin/post-new.php(10): require_once('/var/www/html/w...') #8 {main} thrown in /var/www/html/wp_design/wp-includes/rewrite.php on line 172

フックしろってことなのでしょうか?
フックするにしてもどのように記述したらよいかわかりません。
ご教授頂けますと幸いです。

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

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

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

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

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

guest

回答1

0

自己解決

自己解決しました。

php

1add_action('init', 'sample_init'); 2function sample_init() 3{ 4$args = array( 5'label' => 'カテゴリー', 6'public' => true, 7'show_ui' => true, 8'hierarchical' => true 9); 10register_taxonomy('samplecat','sample',$args); 11//タグタイプ 12$args = array( 13'label' => 'タグ', 14'public' => true, 15'show_ui' => true, 16'hierarchical' => false 17); 18register_taxonomy('sampletag','sample',$args); 19 20}

上記の様に記述したところエラーは解消され解決しました。

投稿2018/02/20 05:06

matcha358

総合スコア15

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問