web-dev-qa-db-fra.com

Utilisez Cron pour modifier les publications via SQL

Bonjour à tous, j'ai besoin de courir deux fois par jour:

UPDATE wp_posts SET post_content = REPLACE ( post_content, '[img]', '<img src="' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, '[IMG]', '<img src="' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, '[/img]', '" />' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, '[/IMG]', '" />' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, '[b]', '<strong>' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, '[B]', '<strong>' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, '[/b]', '</strong>' );
UPDATE wp_posts SET post_content = REPLACE ( post_content, '[/B]', '</strong>' );

Comment peut le faire? Je ne veux pas l'exécuter manuellement et je ne peux pas le faire chaque fois qu'un article est publié car je gère un site Web MU et mes auteurs sont trop paresseux pour modifier leur code de bbCode en HTML. J'utilise cPanel pour pouvoir ajouter facilement un CronJob si vous m'apprenez à le faire. Merci à tous!

2
Downloadtaky

La création de vos propres programmes est un peu compliquée (car ils doivent être persistants et stockés dans une base de données), mais il est assez facile de passer à l’un des programmes natifs exécutés deux fois par jour.

add_action( 'wp_version_check', 'my_function' );

function my_function() {

    //stuff
}

En ce qui concerne les requêtes réelles, vous devez utiliser $wpdb pour cela.

2
Rarst

Vous pouvez créer un fichier php incluant wp-load.php comme ceci:

require_once(wp-load.php');
global $wpdb;

Une fois que vous faites cela, vous avez accès à n'importe quoi dans wordpress, y compris l'objet de base de données afin que vous puissiez exécuter des requêtes en utilisant $ wpdb-> query ();

Vous pouvez simplement charger ce fichier via cron (vous devez probablement wget l'URL via le serveur web).

1
AutoBlogged