2013-04-05 58 views
1

我想隱藏一些基於用戶是否登錄的數組中的元素。例如,如果用戶沒有登錄,我不希望他們能夠查看「主題」元素。如果用戶未登錄,隱藏元素Omeka

在我的項目文件夾中的show.php文件,有一行代碼,我認爲需要編輯。

<?php echo all_element_texts('item'); ?> 

是否有使用類似

if current user display element else hide? 

感謝的方式

+0

嗚嗚......你需要的,如果提供更多的信息你需要一些幫助,'all_element_texts'('item')'做什麼? – 2013-04-05 21:19:47

回答

0

從Jeremey博格斯使用此代碼

<?php 

/** 
* Unset elements if there is not current authenticated user. 
*/ 
function filter_elements($elementsBySet) { 

/* An array of elements in sets to be hidden from non-authenticated users. */ 
$hiddenElements = array(
    'Dublin Core' => array(
     'Description', 
     'Creator' 
    ) 
); 

if (!current_user()) { 
    foreach ($hiddenElements as $setName => $elementNames) { 
     foreach ($elementNames as $elementName) { 
      unset($elementsBySet[$setName][$elementName]); 
     } 
    } 
} 

return $elementsBySet; 
} 

add_filter('display_elements', 'filter_elements');