[英]Get last URL returned in Array
我正在使用一個表單字段來讓用戶編輯帖子並上傳個人資料圖像。
他們上傳個人資料圖片后,會將URL傳遞到名為“ logo_header”的隱藏自定義文本字段。 我在PHP模板中讀取了此URL,並使用它如下顯示圖像。
<?php $logo = get_post_meta($post->ID, 'logo_header', true); ?>
<div class="profileLogo"><img src="<?php echo $logo; ?>" /></div>
我的問題是,當用戶決定更新其照片(基本上是更改照片)時,新的URL僅添加到當前URL的末尾,我想這會創建一個數組。 所以就像
http://example.com/myprofile.jpg , http://example.com/myprofile2.jpg
顯然,圖片src無法使用數組,它需要1個URL。
我使用重力形式上傳文件按鈕來編輯帖子並上傳圖片。 沒有選項可以刪除已經存在的當前圖像(這是另一個問題:(),因此僅向用戶提供一個上傳按鈕。
我的問題是
如何始終選擇添加到“ logo_header”字段中的最后一個URL?
試試$logo = array_pop(get_post_meta($post->ID, 'logo_header', false));
使用false參數,您將獲得所有元字段的數組。 我們只能假設它們將以正確的順序插入並返回,因此array_pop()將拉出列表中的最后一個。
編輯 -對於並非總是有多個徽標的情況,應使用以下命令:
$logo = get_post_meta($post->ID, 'logo_header', false);
$logo = is_array($logo) ? array_pop($logo) : $logo;
$logo = get_post_meta($post->ID, 'logo_header', true);
$logoImgSrc = is_array($logo) ? end($logo) : $logo;
<div class="profileLogo">
<img src="<?php echo $logoImgSrc ; ?>" />
</div>
我認為您不應該使用隱藏的文本字段,而應該使用隱藏的輸入字段,當用戶選擇新圖像(jQuery中的files change()函數)時,請將隱藏字段的值設置為新的url,替換舊的,然后發布隱藏的字段名稱。
編輯可能有幫助:
$("#browse_box").change(function() {
$("#hidden_field").val($(this).val());
});
從內存中鍵入,但這將是基本思想。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.