ワードプレスは非常にカスタマイズ性の高いCMSです。ワードプレスにはフックという仕組みがあり、その関数が呼ばれるときにオリジナルの関数を実行させるように簡単にする事ができます。
記事を投稿した瞬間にタイトルを置き換えて投稿日時を追加する
お使いのテーマのfinctions.phpに、オリジナルの関数を追加する事で、例えば「記事を投稿した瞬間にタイトルに投稿日時を追加する」ということも実現する事ができます。ここではこの関数を実際に紹介し、これらのコードの意味を解説いたします。
関数
function set_original_title ($post_id) { if ( wp_is_post_revision( $post_id ) ) return; global $wpdb; $date = date("Y-m-d H:i:s"); $title = get_the_title($post_id) . $date; $where = array( 'ID' => $post_id ); $wpdb->update( $wpdb->posts, array( 'post_title' => $title ), $where ); } add_action('save_post', 'set_original_title', 12 );
プログラムの解説
add_action(‘save_post’, ‘set_original_title’, 12 );
投稿が保存される瞬間にset_original_titleという関数を、投稿IDを引数に実行させます
if ( wp_is_post_revision( $post_id ) )
レビジョンの自動保存時は実行させません
$title = get_the_title($post_id) . $date;
ここでタイトルを置き換えてタイトルに日付を追加しています
$where = array( ‘ID’ => $post_id );
ここでどのデータベースの部分を修正するかの指定がされています
$wpdb->update( $wpdb->posts, array( ‘post_title’ => $title ), $where );
ワードプレスのタイトルの更新をします