Comment désactiver correctement REVISIONS et AUTOSAVE pour l'ensemble du site et éventuellement pour un type de publication personnalisé uniquement

13

Y a-t-il une combinaison crochet / fonction qui peut être ajoutée à mon thème functions.phppour désactiver correctement REVISIONS et AUTOSAVE pour toute l'installation de wordpress? Et si seulement pour un certain type de publication personnalisé? La recherche en ligne offre divers hacks, du désenregistrement des scripts à la falsification des fichiers principaux. Quelle est la manière acceptable / correcte de procéder?

Ana Ban
la source
Voici une meilleure solution : stackoverflow.com/a/30821376/2377343
T.Todua
Comment désactiver la post-révision sur le site wordpress.com?
Santosh Kumar

Réponses:

16

Cela devrait être placé dans votre wp-config.php(et nulle part ailleurs):

define( 'AUTOSAVE_INTERVAL', 60*60*60*24*365 ); // Set autosave interval to 1x per year
define( 'EMPTY_TRASH_DAYS',  0 ); // Empty trash now: Zero days
define( 'WP_POST_REVISIONS', false ); // Do not save andy revisions
kaiser
la source
mise à jour: lorsque j'ajoute la AUTOSAVE_INTERVALligne, la page de l'éditeur de publication exécute constamment une instruction javascript qui active / désactive les boutons [Mettre à jour] (et [Enregistrer le brouillon] sur une nouvelle publication), ce qui rend finalement tous mes autres onglets de navigateur beaucoup moins réactif (gchrome18). hmm ... des pensées?
Ana Ban
Ouais, cela (proprement) signifie qu'il fait des mises à jour constantes. Essayez de le changer en 20000000000, ce qui devrait être un peu plus d'un an.
kaiser
Est-ce que cela désactive le plug-in d'enregistrement automatique de tinyMCE? On dirait qu'il ne définit qu'un grand intervalle uniquement.
Michael Rogers
@MichaelRogers Eh bien, si vous considérez qu'une année ne suffit pas, essayez une vie;)
kaiser
1
@JossieCalderon Dépend de l' endroit où vous avez défini cela. Un definene peut pas être remplacé, alors activez le rapport d'erreurs et assurez-vous de le placer dans votre wp-config.php.
kaiser
0

Je cherche également comment désactiver la sauvegarde automatique. Mais voici ce qu'on m'a dit dans un ticket Trac :

Si vous avez vraiment besoin de cette fonctionnalité, vous devez gérer vous-même les ID séquentiels dans un champ personnalisé, puis implémenter le routage d'URL personnalisé. Il ne devrait pas être trop difficile de retirer cela.

wikicms
la source
salut @wikicms je suis cool avec les identifiants, mais merci pour la publication. utile pour quelqu'un là-bas à coup sûr, ou même moi à l'avenir.
Ana Ban
-2

Placer les définitions dans wp-config.php est correct jusqu'à ce que vous allumiez WP_DEBUG lorsque vous obtiendrez des notifications PHP «déjà définies» dans le debug.log toutes les deux minutes. D'autres affirment que placer ces définitions au-dessus de la définition ABSPATH sera utile.

Cependant, je peux confirmer catégoriquement que le meilleur endroit pour mettre vos définitions est dans un plugin, car les plugins activés sont chargés avant la définition par défaut de WP.

Les définitions par défaut sont protégées avec les tests if existants, donc les définitions chargées par votre plugin auront la priorité et ne provoqueront pas de conflit ni les avis PHP répétitifs dans le journal de débogage.

waverlyweb
la source
1
Non, wp-config.phpc'est le seul endroit correct. Si vous obtenez des erreurs, du code cassé ailleurs tente de le définir à nouveau. Supprimez ce code.
fuxia
@toscho Pourquoi wp-config.phple seul endroit correct? Peux-tu élaborer?
jdevlin
2
@JamesDevlin Maintenabilité et débogage. Vous pouvez le faire dans un environnement très contrôlé, mais si vous obtenez des erreurs lorsque vous le placez wp-config.php, quelque chose d'autre est cassé, déplacer les définitions n'est pas une solution.
fuxia