2017-07-30 96 views
0

如何檢查帖子是否有元數據並按功能顯示?檢查並添加到帖子內容

我交型投資組合與元字段(_wi_next腳本部分和_wi_prev腳本部分)

function wi_next_prev_part_links($content) { 
global $wp_query; 
$postid = $wp_query->post->ID; 

if (is_singular('portfolio')) { 
    if (get_post_meta($postid, '_wi_prev-script-part', true)) { 
     $prev_script_part = get_post_meta($postid, '_wi_prev-script-part', true); 
     $content .= '<a href="'. get_the_permalink($prev_script_part) .'" class="">&larr; Prev Part Link</a>';; 
    } 
    if (get_post_meta($postid, '_wi_next-script-part', true)) { 
     $next_script_part = get_post_meta($postid, '_wi_next-script-part', true); 
     $content .= '<a href="'. get_the_permalink($next_script_part) .'" class="">Next Part Link &rarr;</a>'; 
    } 
} 
return $content; 
} 
add_filter ('the_content', 'wi_next_prev_part_links', 0); 
+0

您的代碼無法使用?你調試了$ postid var嗎? – TurtleTread

回答

1

這樣做有兩種方式。一個是檢查元密鑰的值,一個是檢查元密鑰是否存在。

檢查值

get_post_meta documentation解釋Meta鍵您試圖訪問不存在函數會返回一個空字符串或空數組。由於兩個空字符串和一個空數組是falsy你可以用一個簡單的if語句來檢查Meta鍵是否具有有效的元數據或不爲這樣的:

if (get_post_meta($postid, '_wi_prev-script-part', true)) 
{ 
    //Do something 
} 

檢查爲重點

但是,在某些情況下,空字符串被認爲是有效的值。如果您的代碼將空字符串視爲期望的值,您將需要檢查是否存在元密鑰本身。我們可以用get_post_custom_keys功能來做到這一點:

if(in_array('_wi_prev-script-part', get_post_custom_keys($postid))) 
{ 
    //Do something 
} 
+0

謝謝,更新了代碼,也許有人會派上用場 –