画面表示のカスタマイズ
一般ユーザーが使いやすいように投稿作成画面の表示をカスタマイズします。
1.“投稿の編集”右の“新規追加”
これをクリックすると通常の新規追加画面になります。このリンクにパラメータを追加するフックがないためスタイルシートで非表示にします。
2.パーマリンク
一般ユーザーがパーマリンクを変更する必要はないので非表示。フックがないためスタイルシートで非表示にします。
3.画像クリック時のメニュー
一般ユーザーが操作しやすいメニューとは思えないので非表示。JavaScript でメニューを表示しています。フックがないためスタイルシートで非表示にします。
4.保存時の spinner 背景画像
保存時に spinner 画像が現れます。この画像は背景画像で、アクセシビリティー上不適切です。別途、通常画像として現れるようにしています。フックがないためスタイルシートで削除します。
表示するページが post.php の場合に、スタイルをヘッダーに書き出します。
コード
// -------------------------------- // タイトル右の新規追加 非表示 // パーマリンク 非表示 // JavaScript 画像クリック時のメニュー 非表示 // spinner 背景画像削除 // -------------------------------- function hk_easy_post_add_css() { if ( ! isset( $_REQUEST['hk_light_type'] ) ) return; global $pagenow; if ( $pagenow != 'post.php' ) return; echo '<style type="text/css">'."\n"; // タイトル右の新規追加 非表示 echo ' .page-title-action { display: none !important; }'."\n"; // パーマリンク 非表示 echo ' #edit-slug-box { display: none !important; }'."\n"; // JavaScript 画像クリック時のメニュー 非表示 echo ' .mce-inline-toolbar-grp { display: none !important; }'."\n"; // spinner 背景画像削除 echo ' .spinner { background: none !important; }'."\n"; echo '</style>'."\n"; return; } add_action( 'admin_head', 'hk_easy_post_add_css' );
パラメータ埋め込みと継承
簡易版のパラメーターを投稿作成画面に埋め込みます。
保存時のリダイレクトでパラメータが引き継がれないため、パラメータを付加しています。
コード
// -------------------------------- // パラメータ埋め込み // -------------------------------- function hk_easy_post_edit_form_after_editor() { if ( ! isset( $_REQUEST['hk_light_type'] ) ) return; echo '<input type="hidden" name="hk_light_type" value="'.$_REQUEST['hk_light_type'].'" />'."\n"; if ( isset( $_REQUEST['hk_cat_id'] ) ) echo '<input type="hidden" name="hk_cat_id" value="'.$_REQUEST['hk_cat_id'].'" />'."\n"; return; } add_action( 'edit_form_after_editor', 'hk_easy_post_edit_form_after_editor' ); // -------------------------------- // 公開・更新時のパラメータの継承 // -------------------------------- function hk_easy_post_redirect_post_location( $location ) { if ( ! isset( $_REQUEST['hk_light_type'] ) ) return $location; $location = add_query_arg( 'hk_light_type', $_REQUEST['hk_light_type'], $location ); if ( isset( $_REQUEST['hk_cat_id'] ) ) $location = add_query_arg( 'hk_cat_id', $_REQUEST['hk_cat_id'], $location ); return $location; } add_filter( 'redirect_post_location', 'hk_easy_post_redirect_post_location' );
このプログラムをお使いになる場合は、お使いになる方の自己責任でお願いします。