web-dev-qa-db-fra.com

Comment changer la chaîne "Brouillon" pour le statut du type de message personnalisé en "Indisponible"?

ANSWER MOD : juste un mod important à la réponse choisie:

// 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']);
}

et la mise en garde mentionnée ne se présente pas pour moi le 3.4. :RÉ


Pour un type de message personnalisé particulier employee, je souhaite modifier le nom/la chaîne "Brouillon" (qui correspond à l'état 'draft') en "Indisponible" pour tout article employee ayant le statut 'draft', où que le nom apparaisse sur l'administrateur. écrans et essentiellement sur l’ensemble du site, c’est-à-dire.

enter image description here

Y a-t-il un crochet pour cela? Ou y a-t-il une meilleure façon de faire cela?

6
Ana Ban

J'étudiais le problème pour cette question , et une option consiste à utiliser le plugin Edit Flow .

Il peut être configuré pour afficher post_status personnalisé dans des CPT spécifiques, mais des tests supplémentaires sont nécessaires pour voir si cela s'applique à ce cas.


Une autre option consiste à utiliser le plug-in Retranslate de toscho, dans lequel vous pouvez définir la chaîne à traduire et le post_type: https://wordpress.stackexchange.com/a/3675/12615

Il fait presque tout le travail, car curieusement, il y a une corde (le tout premier de la capture d'écran) qui ne soit pas traduit et un code supplémentaire est nécessaire:

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;
}

Un inconvénient de cette méthode est que juste après "l'édition rapide" du statut de l'article, le mot brouillon apparaît ...

4
brasofilo