Wordpress:根据用户的loged显示不同的内容

时间:2018-03-22 08:37:02

标签: php wordpress

我正在运行一个简单的wordpress网站,用户可以登录。我现在想要根据当前登录的用户显示不同的HTML内容。

我知道这可以通过使用PHP解决,我甚至有使用PHP的基本知识,但我不知道在哪里以及如何开始。

感谢您的每一个输入和最好的问候

1 个答案:

答案 0 :(得分:2)

一旦你了解了PHP的方法,这很简单。您可以使用短代码(在HTML中,您可以使用do_shortcode术语调用)来使用它,这样您就可以将它与短代码和HTML一起使用。

您首先必须先注册一个短代码。正如您所说,您只需要为登录用户提供不同的HTML内容。要创建短代码,请打开functions.php文件并复制/粘贴此代码:

  implicit val totoWrites: Writes[Toto] = (
      (JsPath \ "titre").write[String] and
        (JsPath \ "option").writeJsonOption[String] and
        (JsPath \ "descriptionPoste").writeNullable[String]
      ) (unlift(Toto.unapply))

   implicit val totoReads: Reads[Toto] = (
      (JsPath \ "titre").read[String] and
        (JsPath \ "option").readNullable[String] and
        (JsPath \ "descriptionPoste").readNullable[String]
      ) (Toto.apply _)

如果没有登录的人想要查看内容以及第一行中的示例部分(即短代码的名称),则可以编辑返回错误的部分,因此请将其设置为唯一。这不会通过角色(管理员,模组,编辑等),而是通过状态,如果有人登录。

之后只需在帖子编辑器中使用[EXAMPLE]一些内容[/ EXAMPLE]。请注意,您必须使用帖子的文本编辑器,而不是可视编辑器(因为它不能识别短代码)。

如果要在HTML中实现此功能,只需使用do_shortcode函数:

add_shortcode('EXAMPLE','show_user_content');
function show_user_content($atts,$content = null){
global $post;
if (!is_user_logged_in()){
return "You aren’t allowed to read this. " . wp_login_url( get_permalink($post->ID) ) . ' to view the content';
}
return $content;
}

只需将内容放入“Hello Hello!”中即可!一部分。