フォーラムへの返信

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: attachment(添付ファイル)のURLを変更したい
    トピック投稿者 kitayoshikawa

    (@kitayoshikawa)

    のむらけいさん、
    実現は難しいのですね。勉強になりました
    回答してくださった皆さんありがとうございました

    フォーラム: 使い方全般
    返信が含まれるトピック: attachment(添付ファイル)のURLを変更したい
    トピック投稿者 kitayoshikawa

    (@kitayoshikawa)

    gblsmさん回答ありがとうごさいます

    私が少し説明不足でした

    詳細に説明しますと、パーマリンク設定よりカスタム構造「/%category%/%post_id%」にした上で、
    カテゴリーベースを「.」に設定することにより
    投稿記事のURLが「ドメイン名/カテゴリースラッグ/投稿ID」となります。

    さらにその投稿記事の編集画面の「メディアを追加」から画像やPDFを追加することにより、その追加された画像やPDFのURLが「ドメイン名/カテゴリースラッグ/投稿ID/attachment/ファイル名」となります

    このURLを
    ドメイン名/カテゴリースラッグ/投稿ID/img(任意の文字列)/ファイル名

    ドメイン名/カテゴリースラッグ/投稿ID/ファイル名(attachmentを省略)
    へ変更したいです。

    添付ファイル(attachment.php)のURLをリライトする
    このサイトで紹介されている

    add_filter('attachment_link', 'pal_change_link', 10, 2 );
    function pal_change_link( $link, $id ) {
        return home_url("/file/$id/");
    }
    add_filter('rewrite_rules_array', 'pal_insert_rewrite_rules');
    function pal_insert_rewrite_rules( $rules ) {
        $newrules = array();
        $newrules['file/(\d*)$'] = 'index.php?attachment_id=$matches[1]';
        return $newrules + $rules;
    }
    add_action('wp_loaded', 'pal_flush_rules');
    function pal_flush_rules() {
        $rules = get_option( 'rewrite_rules' );
        if ( ! isset( $rules['file/(\d*)$'] ) ) {
            global $wp_rewrite;
            $wp_rewrite->flush_rules();
        }
    }

    このコードを使用すると、
    ドメイン名/file(任意の文字列)/投稿ID/ファイル名
    となります。

    できれば
    ドメイン名/カテゴリースラッグ/投稿ID/img(任意の文字列)/ファイル名

    ドメイン名/カテゴリースラッグ/投稿ID/ファイル名(attachmentを省略)
    へ変更したいので、ご教授いただけますと幸いです

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