web-dev-qa-db-ja.com

カスタム投稿タイプのステータスの "下書き"文字列を "利用不可"に変更する方法

ANSWER MOD :選択した答えに対する重要なmod:

// check if you actually have drafts; also avoids extra '|' separator
if (isset($views['draft'])) {
    // 'Drafts' should be added (and come first) if you don't want to end up with 'Unavailables'
    $views['draft'] = str_replace(array('Drafts','Draft'), 'Unavailable', $views['draft']);
}

そして上記の警告は3.4には表示されません。 :D


1つの特定のカスタム投稿タイプemployeeについてのみ、'draft'ステータスを持つすべてのemployee投稿について、名前/文字列 "Draft"('draft'ステータスを表す)を "Unavailable"に変更したいです。基本的にはサイト全体の画面と.

enter image description here

これのためのフックがありますか?それともこれを行うより良い方法はありますか?

6
Ana Ban

私は this question の問題を調査していましたが、1つの選択肢は Edit Flow プラグインを使用することです。

特定のCPTでカスタムのpost_statusを表示するように設定できますが、それがこのケースに当てはまるかどうかを確認するにはさらにテストが必要です。


他のオプションはtoschoのRetranslateプラグインを使うことです。ここで翻訳する文字列とpost_typeを定義することができます: https://wordpress.stackexchange.com/a/3675/12615

奇妙なことに、1つの文字列があるので、ほとんどすべての作業が完了します。 (スクリーンショットの一番最初のもの) これは翻訳されず、追加のコードが1つ必要です。

add_filter( 'views_edit-employee', 'wpse_54330_custom_draft_translation', 10, 1);

function wpse_54330_custom_draft_translation( $views ) 
{
    $views['draft'] = str_replace('Draft', 'Unavailable', $views['draft']);
    return $views;
}

この方法の注意点の1つは、投稿ステータスを「クイック編集」した直後に、Word Draft が表示されることです。

4
brasofilo