WordPressを使ってサイトを作ろ事が多いのだけど、投稿IDから記事を参照するようなショートコードを作ることも多い。
そうしたときにクライアントに投稿IDはURLに表示されていますよという事を言うのも手間なのでダッシュボードの投稿一覧上に各投稿などに表記にIDを表示してあげる方法を備忘録として残しておく。
コードとしては単純で検索するとたくさんこの方法が出てくる。
function add_posts_columns_postid($columns) { $columns['postid'] = 'ID'; return $columns; } function add_posts_columns_postid_row($column_name, $post_id) { if( 'postid' == $column_name ) { echo $post_id; } } add_filter( 'manage_posts_columns', 'add_posts_columns_postid' ); add_action( 'manage_posts_custom_column', 'add_posts_columns_postid_row', 10, 2 );
functions.phpなどの関数を保存するファイルに記述する事で
投稿一覧に
ただ、この表示だと順番を並び替えたいな~なんて事も出てくるのですが、IDは先頭に出て欲しい。
でもダッシュボードをいじるフックの場合は、あまり好ましくないケースも出てくるので違う方法はないものか?と思ったらプラグインがあった。
コレを使う事で
このようにホバー時に表示される編集などの項目にIDを追加する事ができる。
しかし、このプラグイン自体、2年以上更新されていないし、プラグインとして加えるほどのモノでもないので、これもfunctions.phpに書いてしまう事で同じ機能を付与する事が出来る。
add_action( 'admin_head', 'showid_always_showid' ); //投稿一覧にID表示 function showid_postid_show($actions,$post) { if ( current_user_can( 'edit_posts' ) ) { if( isset( $actions['edit'] ) ) { $actions['edit'] = '<span class="wp-ui-text-primary">' . "ID:" . intval( $post->ID ) . '</span>' . " | " . $actions['edit']; } } return $actions; } add_filter( 'post_row_actions', 'showid_postid_show', '10', '2' );
コレを追記してあげる事でホバー表示に追記をすることができる。
他にも、タグやカテゴリー、メディア、リンクといった投稿に表示する事は可能だ。
まあ、言ってしまえばこのプラグインに書いてある内容は、そのままテーマに追加する事ができるので活用すべきだろう。
ライセンスもGPLライセンスで公開されているものだし、改編しての利用は問題ないので使ってみてはいかがだろか。
ちなみにこのプラグイン日本人の方が作ったもので
[blogcard url=https://ounziw.com]
このサイトの方が作ったもののようです。
2017年8月9日