お問い合わせはコチラから

Woocommerce商品一覧を便利にするカスタマイズ

サイト運営

Woocommerceの商品一覧でチョット便利な機能を追加するカスタマイズをご紹介します。

商品一覧でIDを表示してソート可能にする

admin画面の追加CSSで横幅を追加しないとレスポンシブが上手くいきません。

 /*
|--------------------------------------------------------------------------
| WooCommerce Product Extra Columns
|--------------------------------------------------------------------------
*/

/**
 * Load Custom Product Columns
 *
 * @access      public
 * @since       1.0 
 * @return      
*/
function woo_product_extra_columns($columns)
{

	$newcolumns = array(
		"cb"       		=> "<input type  = \"checkbox\" />",
		"product_ID"    => esc_html__('ID', 'woocommerce'),
	);

	$columns = array_merge($newcolumns, $columns);
	
	return $columns;
}
add_filter("manage_edit-product_columns", "woo_product_extra_columns");


/**
 * Charge Product Columns Content
 *
 * @access      public
 * @since       1.0 
 * @return      
*/
function woo_product_extra_columns_content($column)
{
	global $post;
	
	$product_id = $post->ID;

	switch ($column)
	{
		case "product_ID":
			echo $product_id;
		break;	
		
	}
}
add_action("manage_posts_custom_column",  "woo_product_extra_columns_content");

function sort_posts_columns_postid($columns) {
$columns['product_ID'] = 'ID';
return $columns;
}
add_filter( 'manage_edit-product_sortable_columns', 'sort_posts_columns_postid' );
/**
 * 管理画面に追加のスタイルを追加
 */
function custom_admin_style() {
	?><style>
	table.wp-list-table .column-product_ID {
    width: 54px;
    text-align: center;
    white-space: nowrap;
	}
	</style><?php
}
add_action( 'admin_head', 'custom_admin_style' );

商品一覧の一括操作で公開・非公開をトグルさせる

WordPressの管理画面の一覧は一括操作というメニューがあって、これがものすごい便利です。この機能を知っているとつまらない単純作業を一気に行えるので素晴らしいのですが、知られていないのであまり使っている人がいないようです。

この一括操作なのですが、公開・非公開の切り替えのためには一度編集を選択してそこから設定する必要があり、UI的にちょっとわかりにくい。

ということで、一括操作の操作内容を直接編集して使いやすくしましょうというカスタマイズです。

add_filter( 'bulk_actions-edit-post', 'add_bulk_actions' );
add_filter( 'bulk_actions-edit-product', 'add_bulk_actions' );

function add_bulk_actions( $actions ) {
  $actions['switch_post_status'] = __( '公開・非公開切り替え' );
  return $actions;
}

add_filter( 'handle_bulk_actions-edit-post', 'add_bulk_action_handler', 10, 3 );
add_filter( 'handle_bulk_actions-edit-product', 'add_bulk_action_handler', 10, 3 );

function add_bulk_action_handler( $redirect_url, $doaction, $post_ids ) {
  if ( $doaction !== 'switch_post_status' ) {
    return $redirect_url;
  }

  $redirect_url = remove_query_arg( 'switch_status', $redirect_url );

  if ( $doaction == 'switch_post_status' ) {
    $count = 0;
    foreach ( $post_ids as $post_id ) {
      $post_status = get_post_status( $post_id );
      if ( $post_status == 'publish' ) {
        wp_update_post( array( 'ID' => $post_id, 'post_status' => 'private' ) );
        $count++;
      } elseif ( $post_status == 'private' ) {
        wp_update_post( array( 'ID' => $post_id, 'post_status' => 'publish' ) );
        $count++;
      }
    }
    if ( $count ) {
      $redirect_url = add_query_arg( 'switch_status', $count, $redirect_url );
    }
  }

  return $redirect_url;
}

add_action( 'admin_notices', 'add_bulk_action_notices' );
function add_bulk_action_notices() {
  if ( ! empty( $_REQUEST['switch_status'] ) ) {
    $notices_text = intval( $_REQUEST['switch_status'] ) . '件の投稿ステータスを切り替えました。';
    echo '<div class="updated notice is-dismissible"><p>' . $notices_text . '</p><button type="button" class="notice-dismiss"><span class="screen-reader-text">この通知を非表示にする</span></button></div>';
  }
}

参考https://www.nxworld.net/wordpress/wp-custom-bulk-actions.html

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

タイトルとURLをコピーしました