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

问题描述 投票:1回答:1

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

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

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

php wordpress
1个回答
2
投票

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

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

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;
}

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

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

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

<?php echo do_shortcode('[EXAMPLE]Hello world![/EXAMPLE]'); ?>

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

© www.soinside.com 2019 - 2024. All rights reserved.