私のテーマのREADME.markdownを私のサイトのページに同期させたいのですが、そのテキストを一度だけ更新すればよいようにするには、loveにします。私が自分のコードをBitBucketにコミットしたとき。私のテーマは定期的にhg pull -u
をやっているので、コードは新鮮なままで、READMEはソースを変更するたびに更新されますが、READMEを含むWordPressページは手動で更新されます。
(私はMD - > HTMLダンスをするためにMark Jaquithの Markdown on Save を使っています。)
何かご意見は?
私は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);
}
これで、このcronジョブは毎日実行され、readmeでページが更新されます。ページIDとMarkdownファイルへのパスで 'ID'を変更する必要があります。
Cronを実行するのに問題がある場合は、Nettuts から次の投稿を読んでください。http://wp.tutsplus.com/articles/insights-into-wp-cron-an-introduction-to-ワードプレスでのスケジューリングタスク/
また、この関数はMarkdownクラスを使用しているため、Markdown On Save
プラグインも必要です。
実際にはwpse_26170_update_readme_page
を実行した後にhg pull -u
関数を呼び出すことができます。
マークダウンファイルを解析して、ページ内の内容を何らかの方法で、たとえばショートコードで表示することができます。ファイルを更新すると、自動的に更新されます。原因は、マークダウンファイルを解析して自動的にHTMLを提供することです。