web-dev-qa-db-fra.com

Quel est le moyen le plus simple de lire périodiquement (automatiquement) le contenu statique de Markdown dans un WP page?

J'aimerais synchroniser le fichier README.markdown de mon thème sur une page de mon site et aimerais aimer ne pouvoir mettre à jour ce texte qu'une seule fois - à savoir, à quel moment Je commets mon code jusqu'à BitBucket. Mon thème utilise régulièrement hg pull -u, de sorte que le code reste frais et que le README soit mis à jour chaque fois que je modifie la source, mais ma page WordPress contenant le README doit ensuite être mis à jour manuellement.

(J'utilise Markdown de Mark Jaquith sur Save pour faire la danse MD-> HTML.)

Des pensées?

2
ZaMoose

J'ai réalisé cela en utilisant les capacités de WP-Cron.

add_action('wp', 'wpse_26170_activation');

function wpse_26170_activation() {
    if ( !wp_next_scheduled( 'wpse_26170_update_readme_page' ) ) {
        wp_schedule_event( current_time( 'timestamp' ), 'daily', 'wpse_26170_update_readme_page');
    }
}

function wpse_26170_update_readme_page() {
    $page = array(
        'ID'           => 767,
        'post_content' => Markdown( file_get_contents( 'path/to/readme.markdown' ) )
    );

    if (
        // Filters return true if they existed before you removed them
        remove_filter( 'content_filtered_save_pre', 'wp_filter_post_kses' ) &&
        remove_filter( 'content_save_pre', 'wp_filter_post_kses' )
    ) {
        $page['post_content'] = wp_kses_post( $page['post_content'] );
    }

    wp_update_post($page);
}

Maintenant, cette tâche cron doit être exécutée chaque jour pour la mise à jour de la page, veuillez noter que vous devez modifier "ID" avec votre ID de page et le chemin d'accès au fichier Markdown.

Si vous avez des problèmes pour faire fonctionner cron, veuillez lire le post suivant de Nettuts http://wp.tutsplus.com/articles/insights-into-wp-cron-an-introduction-to- ordonnancement-tâches-in-wordpress/

Aussi, vous avez toujours besoin du plugin Markdown On Save car cette fonction utilise la classe Markdown à partir de celle-ci.

En fait, vous pouvez simplement appeler les fonctions wpse_26170_update_readme_page après avoir effectué hg pull -u.

2
nvartolomei

Vous pouvez analyser le fichier de démarquage et afficher le contenu de la page avec une méthode, par exemple avec un shortcode. Lorsque vous mettez à jour le fichier, il sera automatiquement mis à jour. Parce que cela va analyser le fichier de démarquage et servir le HTML automatiquement.

0
Tareq