2016-12-14 12 views
0

ファイルをWordPressにアップロードしているときにファイルの名前を変更しようとしています。 基本的にはhereと同じことをしたいのですが、残念ながらthisのコードを使用すると、$postの値が得られません。ワードプレス;アップロード時に名前を変更するファイル

私が得る唯一のことは、最後にいくつかの数字とファイルの拡張子を含む「空の」名前です。 "-5263.png"、これは新しいファイルごとに発生します。 なんらかの理由で私はポストタイトルを与える$postの値を得ていないし、ちょうどファイル名を変更するだけで、何も付いていないので、最後にいくつかの数字を追加するので、他のものを上書きしないファイル。

私は本当に私のコードで間違っているものを知っているしたいと思います:

function new_filename($filename, $filename_raw) { 
     global $post; 
     $info = pathinfo($filename); 
     $ext = empty($info['extension']) ? '' : '.' . $info['extension']; 
     $new = $post->post_title; 
     if ($new != $filename_raw) { 
       $new = sanitize_file_name($new); 
     } 
     return $new . $ext; 
} 

add_filter('sanitize_file_name', 'new_filename', 10); 

はあなたの助けのために事前にありがとうございます。

答えて

0

私はこれまでにFile Renaming on Uploadと呼ばれていたプラグインを作成しましたが、コードのヘルプを検索している場合は、ポスト変数を取得する別の方法を試すことができます。代わりにこれを試してみてください:

投稿変数を取得したら、そのようなpost_titleを使用する必要はありません。あなたは

$post->post_name 

を使用することができます。そして、あなたはsanitize_file_name()機能を使用する必要はありません

関連する問題