サポート » 使い方全般 » 「ステータス」と「公開状態」の名称を変更させたい

  • 解決済 hanahana-mai

    (@hanahana-mai)


    記事を投稿する際、右側に表示されている「ステータス」と「公開状態」の名称を独自の名前に変更したいのですが、これはどこから変更が出来ますでしょうか?

    具体的には、「公開済み」であれば「公開中」に…。

    公開状態の「非公開」であれば、「閲覧制限記事」などといった具合に、名称の変更を行いたいです。

    調べてみると、独自のステータスの追加方法などは幾つか確認できたのですが、既存の名称を変更する方法が分かりませんでした…。

    項目が増えると混乱を招きそうなので、出来ればあるものの名称を変更して表示させたいです。
    すみませんが、アドバイスをお願いいたします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • ishitaka

    (@ishitaka)

    こんにちは

    適当なフックや設定が用意されていないので、gettext フィルターフックで変更するのはどうでしょうか。
    https://codex.wordpress.org/Plugin_API/Filter_Reference/gettext

    例:

    function my_gettext_admin_post( $translated, $text, $domain ) {
    	if ( $domain === 'default' ) {
    		$texts = array (
    			'Published' => '公開中',
    			'Private' => '閲覧制限記事',
    		);
    		if ( isset( $texts[$text] ) ) {
    			$translated = $texts[$text];
    		}
    	}
    	return $translated;
    }
    
    function my_admin_head_post() {
    	add_filter( 'gettext', 'my_gettext_admin_post', 20, 3 );
    }
    
    add_action( 'admin_head-post.php', 'my_admin_head_post' );
    add_action( 'admin_head-post-new.php', 'my_admin_head_post' );
    lisa0000

    (@lisa0000)

    ishitaka様、有難うございます。

    試してみたのですが、公開状態の部分、publishやprivateは変更が出来るのですが、ステータスに関しては変更できませんでした。draftなどプルダウン部分の表記…。

    また、投稿画面上では文言が変更されているのですが、各カテゴリに移動した際の画面?というのでしょうか。記事一覧が表示されている各カテゴリの画面です。

    この画面では、文言が以前のままの表記になってしまいます。
    この辺りも教えて頂けると幸いです。><
    宜しくお願いします。mm

    ishitaka

    (@ishitaka)

    下記のコードではどうでしょうか。

    function my_gettext_admin_post() {
    	$args = func_get_args();
    	$translated = $args[0];
    	$text = $args[1];
    	$domain = end( $args );
    	if ( $domain === 'default' ) {
    		$texts = array (
    			'Published' => '公開中',
    			'Private' => '閲覧制限記事',
    			'Privately Published' => '閲覧制限記事',
    			'Published <span class="count">(%s)</span>' => '公開中 <span class="count">(%s)</span>',
    		);
    		if ( isset( $texts[$text] ) ) {
    			$translated = $texts[$text];
    		}
    	}
    	return $translated;
    }
    
    if ( in_array( $GLOBALS['pagenow'], array( 'post.php', 'post-new.php', 'edit.php' ) ) ) {
    	add_filter( 'gettext', 'my_gettext_admin_post', 10, 3 );
    	add_filter( 'ngettext', 'my_gettext_admin_post', 10, 5 );
    }
3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「「ステータス」と「公開状態」の名称を変更させたい」には新たに返信することはできません。