2013-04-05 60 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');