web-dev-qa-db-ja.com

特定のカテゴリのみの投稿を一覧表示する方法はありますか

特定のカテゴリの投稿を表示する新しいメニューポイントを投稿に追加します。新しい投稿タイプであれば、新しいページを追加するのは簡単です。しかし、私は特定のカテゴリの投稿のみを表示し、投稿を更新するときはカテゴリがチェックされていることを確認してください。

これを行う方法はありませんか? register_post_type()のように、単純な機能を期待していました。そうではないようですが、誰かが私にこれを行う方法について何かアドバイスをくれますか?それも可能ですか?それともカスタム投稿タイプを使うべきですか?

2
Arnold Rimmer

管理投稿リストのURLに?category_name=xxを追加することで投稿リストを絞り込むことができます。また、add_submenu_pageを使用して、そのURLをターゲットとしてサブメニューページを追加できます。

add_action( 'admin_menu', 'wpd_admin_menu_item' );
function wpd_admin_menu_item(){
    add_submenu_page(
        'edit.php',
        'Page title',
        'Menu item title',
        'edit_posts', 
        'edit.php?category_name=somecat'
    );
}
3
Milo

カテゴリ名またはIDで投稿をループできます。

$query = new WP_Query( array( 'category_name' => 'staff' ) );

または

$query = new WP_Query( array( 'cat' => 4 ) );

そして昔ながらの方法でループするだけです。

if ( $query->have_posts() ) :
    while ( $query->have_posts() ) : $query->the_post();
        get_title();
    endwhile;
else :
    echo 'No posts';
endif;

新しいカスタムテンプレートを作成し、カテゴリIDを取得し、新しいWP_Queryで設定IDを取得し、それをループする必要があります。

以下は使い方のドキュメントです。 WP_Query()

Category Posts Widgetプラグインがこれを行います。 https://wordpress.org/plugins/category-posts/ /

Category Posts Widgetは、1つのことを実行し、それをうまく実行するように設計されたライトウィジェットです。特定のカテゴリからの最新の投稿を表示します。

ドキュメント その使い方.

そして

どうやって彼らがそれをやったのかを知りたいのなら、これが彼らの githubリポジトリ です。

0
nu everest