web-dev-qa-db-fra.com

Est-il possible de définir une limite de révision de type publication personnalisée dans les fichiers de thème?

je veux pouvoir définir le nombre limite de révisions d'un type de message spécifique. Je sais qu'il existe un plugin pour cela, et je sais qu'il peut être défini via le fichier "wp-config.php", mais ma question est la suivante:

Existe-t-il un code court simple que je peux mettre en œuvre sur mon thème pour le faire sans plug-in et sans qu'il soit nécessaire de modifier d'autres fichiers en dehors de la portée du dossier du thème?

2
Ben

J'ai jeté un œil à la fonction wp_revisions_to_keep() . Il existe un filtre appelé wp_revisions_to_keep qui remplace la valeur de WP_POST_REVISIONS.

Voici un exemple non testé ( PHP 5.4 + ):

add_filter( 'wp_revisions_to_keep', function( $num, $post )
{
    // Post Types and Revision Numbers - Edit to your needs
    $config = [
        'post' => 10,
        'page' => 9,
        'cpt'  => 8
    ];

    // Get the current post type
    $post_type = get_post_type( $post );

    // Override the WP_POST_REVISIONS value
    if( isset( $config[$post_type] ) && is_int( $config[$post_type] ) )
        $num = $config[$post_type];

    return $num;
}, 10, 2 );

Mais je pense que ce type de configuration aurait plus de sens en tant que plugin que d'être lié à un thème.

3
birgire