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

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

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

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

Q&A

解決済

2回答

2901閲覧

WordPress カスタム投稿で投稿した記事のslug名を記事ID番号にしたい

holic

総合スコア134

WordPress

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

0グッド

0クリップ

投稿2016/10/19 10:53

編集2016/10/20 01:56

###前提・実現したいこと
タイトルのままですが、デフォルトでしたら記事のスラッグ名がそのまま記事タイトルになってしまいます。記事タイトルではなくて記事IDが入力されるように設定をしたいです。

プラグインではなくて、
functions.phpの記述で解決できることを希望してます。

###発生している問題・エラーメッセージ
イメージ説明

###functions.phpに記述したカスタム投稿設定

php

1add_action('init', 'add_news_post_type'); 2function add_news_post_type() { 3 $params = array( 4 'labels' => array( 5 'name' => 'お知らせ', 6 'singular_name' => 'お知らせ', 7 'add_new' => '新規追加', 8 'add_new_item' => 'お知らせを新規追加', 9 'edit_item' => 'お知らせを編集する', 10 'new_item' => '新規お知らせ', 11 'all_items' => 'お知らせ一覧', 12 'view_item' => 'ページを確認', 13 'search_items' => '検索する', 14 'not_found' => 'お知らせが見つかりませんでした。', 15 'not_found_in_trash' => 'ゴミ箱内にお知らせが見つかりませんでした。' 16 ), 17 'public' => true, 18 'has_archive' => true, 19 'menu_position' => 5, 20 'supports' => array( 21 'title', 22 'editor', 23 'author', 24 'custom-fields', 25 'revisions', 26 ), 27 'taxonomies' => array('news_cat','news_tag') 28 ); 29 register_post_type('news', $params); 30 31 // カスタムタクソノミーを定義 32 register_taxonomy( 33 'news_cat', 34 'news', 35 array( 36 'label' => 'カテゴリー', 37 'hierarchical' => true,//カテゴリタイプ 38 'rewrite' => array('slug' => 'news/cat') 39 ) 40 ); 41} 42 43// 管理画面一覧にカテゴリを表示 44function manage_news_columns($columns) { 45 $columns['news_cat'] = "カテゴリー"; 46 return $columns; 47} 48 49function add_news_column($column_name, $post_id){ 50 if( $column_name == 'news_cat' ) { 51 //カテゴリー名取得 52 if( 'news_cat' == $column_name ) { 53 $news_cat = get_the_term_list($post_id, 'news_cat', '', ', ', '' ); 54 } 55 //該当カテゴリーがない場合「なし」を表示 56 if ( isset($news_cat) && $news_cat ) { 57 echo $news_cat; 58 } else { 59 echo __('None'); 60 } 61 } 62} 63add_filter('manage_edit-news_columns', 'manage_news_columns'); 64add_action('manage_posts_custom_column', 'add_news_column', 10, 2);

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

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

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

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

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

guest

回答2

0

ベストアンサー

パーマリンクの設定で %postname% 部分を %post_id% に変えればスラッグを気にすることなく記事IDで表示できると思います。


追記:

カスタム投稿タイプでしたね、自力で書き換えるなら一つ目の記事を、プラグインで書き換えるなら「Custom Post Type Permalinks」で出来ると思います。

【カスタムポストのパーマリンクを投稿IDにする / よくあるWordPress | ゆるぶ】
http://yurubu.org/カスタムポストのパーマリンクを投稿idにする/

【カスタム投稿タイプのパーマリンクを変更する『Custom Post Type Permalinks』 | ワードプレステーマTCD】
http://design-plus1.com/tcd-w/2016/02/customposttypepermalinks.html

投稿2016/10/19 15:11

編集2016/10/20 02:14
kei344

総合スコア69398

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

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

holic

2016/10/20 01:59 編集

ご回答ありがとうございます。 試してみましたが、既存の「投稿」には上記の方法で記事slugがidになりましたが、カスタム投稿の場合は適用となりませんでした。 functions.phpに記述したカスタム投稿の設定のソースを追記しました。
holic

2016/10/20 06:29 編集

一つ目の記事を参考に解決しました。kei344様いつもありがとうございます。
guest

0

フックの wp_insert_post あたりを使ってslugを書き換えてはどうでしょうか。

投稿2016/10/19 11:14

kaz.Suenaga

総合スコア2037

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

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

holic

2016/10/20 02:00

ご回答ありがとうございます。 functions.phpに記述したカスタム投稿の設定のソースを追記しました。 この設定の中と合わせてwp_insert_post関数を使うことができるのでしょうか。
kaz.Suenaga

2016/10/20 02:32

wp_insert_post 関数ではなく、 アクションフックの wp_insert_post です。 wp_insert_post関数を使った際、実際にデータを登録する直前に実行される処理を追記できます。 https://firegoby.jp/archives/3651 の「追記」以降あたりをご参照ください。 参考) http://www.sandalot.com/wp%E9%96%A2%E6%95%B0%E3%80%8Ewp_insert_post%E3%80%8F%E3%81%AB%E5%90%AB%E3%81%BE%E3%82%8C%E3%82%8B%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%83%E3%82%AF5%E3%81%A4/
holic

2016/10/20 06:29

kaz.Suenaga様大変貴重な意見をありがとうございます。 問題としていてヵ所は解決できました。 アクションフックなどについてもただ今勉強している身であります、 kaz.Suenaga様の提供された資料を参考に勉強をさせていただきます。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問