管理画面の投稿一覧の件数からWelcartの商品を除く

WordPressにWelcartを導入して「Welcart Shop」>「新規商品追加」で商品を追加していくと、投稿一覧の件数のカウントにWelcartの商品の件数が含まれるようになってしまいます。

この件数からWelcartの商品を除くには、テーマのfunctions.phpに下記のように記載します。
(あまり柔軟に拡張できない箇所のため、少しコードが長くなってしまっています…)

結果

備考

  • WordPress 4.4と4.5はこの部分のコードが同じなので動作すると思いますが、4.3以下だと「所有」リンクの表示条件などが内部で違うようなのでうまく動作しないかもしれません。
  • 内部的(技術的)には下記のような原因があり、これを対処したものになります。
    • Welcartは「投稿」と同じ形式(投稿タイプ(post_type)が「post」)で商品データを保存している
    • Welcartは添付ファイル形式に使われる投稿のファイルタイプ(MIMEタイプ。post_mime_type)を「item」で保存することで標準の投稿とWelcartの商品とを区別している
    • Welcart側で、管理画面の投稿一覧に商品が出ないようにフィルタは行っている ( pre_get_posts + filter_divide_item )
    • 投稿一覧の件数の取得部分は pre_get_posts とは独立しているため、投稿件数がずれる

コメント

内容の誤りなどがありましたら下記からご連絡をお願いします。頂いたコメントは基本的に公開されることはありません(必要な場合は個別に返信させて頂きます)。

CAPTCHA