WordPress如果页面是X不检查登录的用户ID

时间:2016-09-23 18:44:28

标签: php wordpress

我让开发人员为注册用户编写插件,将视频上传到公开视频库中显示的私人资料页面。开发人员已经离开了MIA,所以我无法让他修改代码。他给了我一个[短代码],我把它放在私人资料页面中,让用户能够上传,删除视频等。

既然我需要在他们的公共个人资料页面上显示这些用户视频,他们也不会因为他的插件中的某些代码检查用户是否已登录。如果有任何用户登录,他们可以看到他们的他们的公共页面上的视频,但没有其他人可以登录。未登录的用户会看到一条消息,说他们必须登录才能拥有视频功能。我想我已经在插件中找到了导致这个问题的代码:

public function videoAdd() {


global $wpdb;



$current_user = wp_get_current_user();



if ($current_user->ID == 0) {

$view = new View(dirname(__FILE__) . '/views/not-logged-in.phtml');

return $view->render(true);

}

我的问题是(因为我不能编写php代码),if语句可以通过指定页面名称来解决这个问题吗?例如,如果页面X,要求用户登录上传,但如果页面Y,则只显示用户的视频。以下是我发现的一些示例代码,看起来它可以修改为可以工作,但我不够精明这样做:

<?php   if ( is_page(123) ) { 
?>
<div class="option one">my content</div>


<?php } elseif( is_page(124) ) {

?>
<div class="option one">abc content</div>

<?php } 
else {
echo  '<div class="option one">any content</div>';
}

?>

任何人都可以帮我一个代码示例来使这项工作吗?

1 个答案:

答案 0 :(得分:0)

是的,你应该能够做到这一点。 is_page()接受网页ID和网页名称。

所以你可以这样做:

is_page(123)

其中123是网页网址中的ID。例如,在管理区域:https://your-site.com/wp-admin/post.php?post=123&action=edit中,您将使用post=之后的数字字符串。

您还可以按网址名称识别网页。例如,页面https://your-site.com/about-us/可以像这样识别:

is_page('about-us')

希望有所帮助!