サポート » 使い方全般 » 投稿の公開や更新時にスラッグを変更したいです。

  • 解決済 hayakawakeisuke

    (@hayakawakeisuke)


    詳しくは
    投稿の公開や更新時にスラッグが数値のみの場合その数値を全角に変更したいです。
    スラッグ未記入時でもタイトルが数字だった場合にスラッグに数値が入ってしまい、
    こちらも公開や更新時にその数値の全角に変更したいと思っています。

    いろいろなサイトから寄せ集めてコードを書いたのですが反映されません。

    下記 コードになります。

    /* 数字スラッグ 自動変換 */
    function mySlugChenger($post_id) {
    	$post = get_post($post_id);
    	$post_name = $post->post_name;
    	// numeric.
    	if (is_numeric($post_name)){
    		$post_name = mb_convert_kana($post_name, "N" );
    	} else {
    	// do nothing
    	}
    }
    add_action('publish_post', 'mySlugChenger', 10, 1);

    根本的に理解していないのか全く動かない状態です。

    ご教授をお願いしたいと投稿致しました。
    よろしくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • 全角に変更した後投稿を更新していません。
    wp_update_postで変更内容を更新するとうまく動作するとおもいます。

    /* 数字スラッグ 自動変換 */
    function mySlugChenger($post_id) {
    	$post = get_post($post_id);
    	$post_name = $post->post_name;
    	// numeric.
    	if (is_numeric($post_name)){
    		$newpots = array();
    		$newpost['post_name'] = mb_convert_kana($post_name, "N" );
    		$newpost['ID'] = $post_id;
    		wp_update_post($newpost);
    	} else {
    	// do nothing
    	}
    }
    add_action('publish_post', 'mySlugChenger', 10, 1);

    返信ありがとうございます!

    記述して頂いたコードを
    functions.phpに追加し
    ただいまテストしたところ、
    □ 投稿の公開
    □ 投稿の更新
    □ スラッグ無しの状態でタイトルが数字
    すべてで正常に動作致しました!

    修正したコードまで記述して頂き本当にありがとうございました!

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「投稿の公開や更新時にスラッグを変更したいです。」には新たに返信することはできません。