2016-09-13 49 views
1

我試圖從一定的圖像選擇使用隨機圖像作爲網頁(Wordpress網站)的背景照片。棘手的部分是我還需要顯示拍攝照片的攝影師的姓名。顯示隨機背景照片和攝影師的名字

我對PHP的知識非常非常基本,所以我不知道如何解決這個問題。我發現一個簡單的腳本在線從目錄中拉出一個隨機圖像,效果很好,但我有什麼選擇來檢索照片信用?我應該創建一個文本文件並從那裏提取數據嗎?我怎樣才能將照片與攝影師的名字「連接」?

這是我提到去獲取圖片的腳本:

<?php 

$root = get_stylesheet_directory_uri(); 
$dir = $root . "/images/bgs/"; 
$random = rand(1,22); 

echo $root . "/images/bgs/bg_" . $random . ".jpg"; ?> 

謝謝您的幫助!

額外的挑戰:

,在卡板22(1,22)是在$ DIR圖像的總數。我如何使其成爲動態的,這樣如果我將更多圖像添加到目錄中,我不必手動更新它?

EXTRA額外的挑戰

有沒有一種方法,以確保相同的圖像不連續拉兩次,甚至,也就是說,每5次?

+0

照片存儲在哪裏? – apokryfos

+1

您可以通過Wordpress媒體上傳器上傳圖片,然後使用標題,標題或說明字段來保存您的信用信息。 – Lee

+0

創建關聯數組'[「MY_NAME」 =>「my_photo_url」]'然後用'mt_rand()'相處隨機照片與攝影師的名字 –

回答

0

多達@ ThomasB的答案看起來不錯,我結束了探索通過@Immortal好傢伙,這竟然是適合我的需要更好的建議的關聯數組的想法。

你可以閱讀更多關於這裏的解決方案:How to echo values of an associative array returned by function(我有沿途的一些麻煩,所以我問了一個額外的問題)。

希望這可以幫助任何人。

1

我只能告訴你,我會怎麼做呢....

  1. 添加新用戶。 該用戶只能用於上傳圖片。完整的正常方式,在wp-admin中使用wordpress媒體上傳器。

  2. 添加鉤

    的$ args =陣列( '作者'=> $ AUTHOR_ID,//與作者ID 'post_status' 替換=> '任意', 'post_type'=>「附件' ); $ query = new WP_Query($ args);

從這裏採取:https://wordpress.stackexchange.com/questions/189967/how-to-display-all-images-uploaded-by-an-author(所有學分這@jaroslav svetlik:d)

  • 現在你能循環所有的圖像由該用戶上傳。使用它來獲取背景圖像。

  • 現在您已經擁有圖像的ID,您可以請求圖像的元數據。 FE的描述。您可以將authorsname添加到描述字段並相應地輸出它。

  • 這就是我該怎麼做的。沒有代碼示例,因爲它似乎你知道你在做什麼。如果這個答案對您有幫助,請標記它;-) 謝謝!

    額外挑戰現在變成了挑戰,因爲您正在使用常規流程並檢查用戶。所以WP會知道是否還有更多的圖像;-)

    額外額外挑戰是有點棘手,也許我只是想複雜?這是我再次做什麼:

    設置與JS新localStorage的項目(如Cookie,但方式冷卻器)。作爲我設置當前選擇的圖像ID的值。在設置背景圖像之前,我現在要檢查id是否通過隨機鉤子=保存的ID。如果是 - >生成新ID,如果爲false - >顯示圖像並用當前/新ID覆蓋localStorage。

    一切順利。

    +0

    Hi @ThomasB,謝謝你的幫助!我喜歡這個解決方案,但我不確定第3點)。我的意思是,一旦我建立一個自定義查詢來獲取圖像,我如何編輯上面的腳本來獲得一個隨機圖像?我需要一點代碼畢竟:) – Bankitalia

    +0

    嘿Bankitalia - 今天我很忙,讓我看看它明天。希望這很快......但italia ......你也應該工作結束 - sooooo明天見! ;)如果我忘了它,只需再次觸發我。 – ThomasB