如果用户未登录Omeka,则隐藏元素

时间:2013-04-05 18:43:56

标签: php

我试图根据用户是否登录来隐藏数组中的某些元素。例如,如果用户未登录,我不希望他们能够查看“subject”元素。

在show.php文件的我的items文件夹中,我认为需要编辑一行代码。

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

有没有办法使用像

这样的东西
if current user display element else hide?

由于

1 个答案:

答案 0 :(得分:0)

使用Jeremey Boggs的代码

<?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');