簡體   English   中英

獲取數組中返回的最后一個URL

[英]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.jpghttp://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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM