• 解決済 hokutonojikei

    (@hokutonojikei)


    functions.phpにて投稿記事公開時、編集後公開時に
    公開した投稿のURLを取得し表示するのに以下のようにしています。

    add_action(‘publish_post’, ‘addressget’);
    add_action(‘post_update’, ‘addressget’);

    function addressget {
    $this_post = array();
    $this_post[‘post_content’] = $post->guid;
    wp_update_post($this_post);
    }

    結果は新規投稿時は正常に取得できるのですが
    例えばテスト投稿として投稿し、テスト投稿を編集した際には
    テスト投稿のアドレスが表示されてしまいます。

    編集したとき新しいURLに飛ばすようにしたいのですが
    なにか方法はありますでしょうか。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • Tsuyoshi.

    (@andante0727)

    すみません、ちょっと意味が分からないのですが、このコード動かないですよね?

    ×
    function addressget {

    関数の括弧がないですし、引数もないですし…。
    $this_post も投稿IDを持っていないので、更新できない気がします。

    save_post を使うとどうなるんでしょうか。
    正しく動作しているコードがないとなんとも言えませんが…。

    add_action('save_post', 'addressget', 10, 2 );
    function addressget( $post_id, $post ) {
    	if ( ! wp_is_post_revision( $post_id ) ) {
    		$post->post_content = $post->guid;
    		remove_action( 'save_post', 'addressget' );
    		wp_update_post( $post );
    		add_action( 'save_post', 'addressget' );
    	}
    }

    関数リファレンス/wp update post

    トピック投稿者 hokutonojikei

    (@hokutonojikei)

    Tsuyoshiさんご回答ありがとうございます。

    ソースの件申し訳ありません。
    実際のソースではなく簡易的に要点だけを書いたのですが記述ミスでした。

    いろいろ調べていたところ全く違うところに原因が出てきました。
    引越しを行った際idがずれている可能性が有りそうなので
    そのせんを調べてみます。

    ソースのところに関してはご提示いただいた内容を調べていたら
    よりよくなりそうです!
    ずっと疑問に引っかかっていた点が解決できるかもしれません!
    ありがとうございました!

    お騒がせいたしました。
    またソースの部分で疑問が出てきましたら改めて投稿させていただきます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「編集時にも自分のURLを取得したい($post->guidの代わりの関数を知りたい」には新たに返信することはできません。