WordPress標準の投稿をWelcartの商品専用にする方法

WordPress標準の投稿をWelcartの商品専用にする方法

WordPress標準の投稿をWelcartの商品専用にする方法

Welcartの商品は、投稿タイプが「post(投稿)」として扱われます。そのため、投稿タイプ「post(投稿)」では、ブログやお知らせと商品が混在することになります。

一応カテゴリーで分類されるのでブログと商品を区別することはできますが、投稿タイプが分かれていた方が何かと扱いやすいです。

そこで今回は、WordPress標準の「投稿」をWelcartの商品専用にする方法をご紹介いたします。投稿はWelcartでのみ使用するため、ブログやお知らせ等はカスタム投稿として追加します。

WordPress標準の投稿をWelcartの商品専用にする方法

適用しているテーマのfunctions.phpに以下を追加します。コピペでOKです。

/**
 * 管理画面の投稿一覧と新規追加を非表示
 */
function remove_menus() {
  remove_submenu_page('edit.php', 'edit.php'); //投稿一覧
  remove_submenu_page('edit.php', 'post-new.php'); //新規追加
  remove_submenu_page('edit.php', 'edit-tags.php?taxonomy=post_tag'); //タグ
}
add_action('admin_menu', 'remove_menus');

/**
 * 管理画面の「投稿」のラベルを変更
 */
function change_post_menu_label() {
  global $menu;
  $menu[5][0] = '商品カテゴリー';
}
add_action('admin_menu', 'change_post_menu_label');

/**
 * 商品登録画面でタグを非表示
 */
function remove_post_tag_box() {
  unregister_taxonomy_for_object_type( 'post_tag', 'post' ); //タグメタボックス
}
add_action('init', 'remove_post_tag_box');

/**
 * アドミンバーから投稿を削除し商品を追加
 */
function change_adminbar( $wp_admin_bar ) {
  //[新規]から項目を削除
  $wp_admin_bar->remove_node('new-post');
  //[新規]に商品を追加
  $wp_admin_bar->add_menu( array(
    'parent' => 'new-content',
    'id' => 'new-item',
    'title' => '商品',
    'href' => admin_url( 'admin.php?page=usces_itemnew' )
  ));
  //[新規]のURLを変更
  $wp_admin_bar->add_menu( array(
    'id' => 'new-content',
    'href' => admin_url( 'admin.php?page=usces_itemnew' )
  ));
}
add_action('admin_bar_menu', 'change_adminbar', 1000);

/**
 * ダッシュボードの表記とアイコン変更
 */
function change_dashboad_glance_post() {
?>
  <script type="text/javascript">
  jQuery( function($) {
    $('#dashboard_right_now ul li:first-child a').each(function(){
      $(this).text($(this).text().replace(/^(\d+)件の投稿$/, '$1件の商品'));
      $(this).attr('href', 'admin.php?page=usces_itemedit');
    });
  });
  </script>
  <style>
    #dashboard_right_now li.post-count a::before,
    #menu-posts .dashicons-admin-post::before {
      content: "\f174";
    }
  </style>
<?php
}
add_action('admin_print_footer_scripts', 'change_dashboad_glance_post');

まず、remove_menusで投稿一覧・新規追加・タグのメニューを非表示にし、change_post_menu_labelでラベルを変更しています。これで、管理画面メニューの”投稿”が”商品カテゴリー”に変わります。

管理画面で投稿を非表示

remove_post_tag_boxでは、商品登録画面でのタグメタボックスを非表示にしています。remove_menusの「remove_submenu_page(‘edit.php’, ‘edit-tags.php?taxonomy=post_tag’);」とremove_post_tag_boxは、タグを使用する場合は除外してください。

change_adminbarで、アドミンバーの[新規]のサブメニューから投稿を削除し、商品の新規登録を追加しています。さらに、親メニューの[新規]のリンク先も投稿の新規追加から商品の新規登録に変更します。

アドミンバーの新規を変更

最後に、change_dashboad_glance_postで、ダッシュボードの概要に表示される「○件の投稿」という投稿数を「○件の商品」に変更し、アイコンもカートマークに変更しています。「menu-posts .dashicons-admin-post::before」で管理メニューの[商品カテゴリー]のアイコンも設定しています。

ダッシュボードの表記を変更

あとがき

上記コードをfunctions.phpにコピペするだけで、簡単に投稿をWelcart専用として利用できるようになります。

ブログやお知らせが必要な場合は、Custom Post Type UI等を使ってカスタム投稿を追加しましょう。

この記事が気に入ったら
いいね!してね♪

Twitter で

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です