web-dev-qa-db-ja.com

メディアライブラリにタイトルを自動入力するにはどうすればよいですか。

私のメディアライブラリには何百もの画像がありますが、そのほとんどにタイトルがありません。メディアライブラリでは、 "(タイトルなし)"というメッセージがこれらの画像に沿って表示されます。

私は一般的に投稿ごとに1つの画像を持っているので、私は関連する投稿名をつかむことによって図書館のタイトルを自動入力したいと思います。既存のタイトルを上書きしても構いません。

誰もがこれを行うハックを知っていますか?

'Media Rename'、 'Rename Media'、 'SEO friendly images'のようなプラグインを見つけましたが、通常は実際の画像ファイルの名前を変更するため、またはHTMLで直接(直接)HTMLタイトルタグを作成するためのものです。

(no title)メッセージが表示されないように、Wordpressメディアライブラリ内にタイトルを作成したいのですが。このタイトルデータは図書館で画像を検索するのにも役立ちます。ただし、同じ問題を抱えている人のために、関連する投稿で画像を検索できる「メディア検索」というプラグインが見つかりました。 http://wordpress.org/extend/plugins/media-library-search/

1

手動でSQLを実行できる場合は、次のことを試してください。

 UPDATE wp_posts p INNER JOIN wp_posts q ON p.post_type = 'attachment' AND p.post_mime_type LIKE 'image /%' AND(p.post_title IS NULL OR LENGTH(p。 post_title)= 0)AND p.post_parent = q.ID設定p.post_title = q.post_title; 

PHP関数が必要な場合は、次のことを試してください。

関数set_image_without_title_to_post_title(){
グローバル$ wpdb; 
 
 $ sql = sprintf( "UPDATE%sp内部結合%sq" 
。 "ON p.post_type = 'attachment' AND p.post_mime_type LIKE 'image/%%' "[.____。" "AND(p.post_title IS NULL OR LENGTH(p.post_title)= 0)" [.____。 "" AND p.post_parent = q.ID " "。SET p.post_title = q.post_title"、
 $ wpdb-> posts、$ wpdb-> posts); 
 
 $ wpdb-> get_results ($ sql、ARRAY_A); 
} 

警告:これはあなたのデータベースに大規模な変更を加えるので、私は最初にバックアップをするでしょう!私は小さなテストを実行しましたが、それは正しいように見えますがATあなた自身のリスクを使ってください!

2
user27457