web-dev-qa-db-ja.com

問題:manage _ $ {post_type} _posts_columns

こんにちは!

私はWordpressでプログラミングを始めたばかりです。いつか便利なものを作ることを目指しています。しかし、私は自然にすぐに問題に遭遇し、そして今私はいくつかの解決策を試してみましたが、コードのいくつかの変更によってフロントエンド(管理パネル)には何も起こらないので根本的に間違ったことをしています。

次のコードでプラグインファイルを作成しました。

/*
Plugin Name: Example Brand
Plugin URI: Example.com
Description: Lorum Ipsum
Author: Example Examplesson
Text Domain: Example location
*/
function crispynewcolumns( $columns ) {

    $columns = array(
        'title' => __('test title 1'),
    );
    return $columns;
}
add_filter( 'manage_cri_creator_posts_column' , 'crispynewcolumns' );

関数crispnewcolumnsは、カスタム投稿タイプ "cri_creator"の元の 'title'を文字列 'test title 1'に置き換えます。

Cri_creatorのコード:

{"name":"cri_creator","label":"Constructors","singular_label":"Constructor","description":"","public":"false","publicly_queryable":"true","show_ui":"true","show_in_nav_menus":"true","show_in_rest":"false","rest_base":"","has_archive":"false","has_archive_string":"","exclude_from_search":"true","capability_type":"post","hierarchical":"false","rewrite":"true","rewrite_slug":"","rewrite_withfront":"true","query_var":"true","query_var_slug":"","menu_position":"","show_in_menu":"true","show_in_menu_string":"","menu_icon":"","supports":["none"],"taxonomies":[],"labels":{"menu_name":"Constructor","all_items":"","add_new":"","add_new_item":"","edit_item":"","new_item":"","view_item":"","view_items":"","search_items":"","not_found":"","not_found_in_trash":"","parent_item_colon":"","featured_image":"","set_featured_image":"","remove_featured_image":"","use_featured_image":"","archives":"","insert_into_item":"","uploaded_to_this_item":"","filter_items_list":"","items_list_navigation":"","items_list":"","attributes":""},"custom_supports":""},"knark":

私のセットアップはphp 5.6.3.5のWAMPローカルホストです。

プラグイン、カスタム投稿タイプ、およびカスタムフィールド(AFC)の両方が表示されますが、ここでは列の操作にこだわっています。十分に単純であるべきです - 誰か考えがありますか?

1
CnapBack

フィルタ名のスペルを間違えました。最後に欠けている「s」があります。正しいのはmanage_cri_creator_posts_columnsです。

提案として、私は完全に新しいものを作成するよりも既存の配列を操作する方が良いと言うでしょう。あなたのケースではないかもしれませんが、これと全く同じフィルタで何かをしている可能性のある他のプラグインと衝突するのを避けるのは良い考えです。

たとえば、タイトルラベルを変更するだけの場合は、次のようにしたほうが良いでしょう。

function crispynewcolumns( $columns ) {

    $columns['title'] = __('test title 1');
    return $columns;

}
add_filter( 'manage_cri_creator_posts_columns' , 'crispynewcolumns' );

お役に立てば幸いです。ドキュメントへのリンクは次のとおりです。 https://codex.wordpress.org/Plugin_API/Filter_Reference/manage_ $ post_type_posts_columns

1
Leo Germani