当前位置: 首页 > 知识库问答 >
问题:

如果当前用户是帖子的作者,在前端显示图标

司马钱明
2023-03-14

当用户在我的网站上注册时,将自动创建一篇文章(在自定义文章类型下),并将用户指定为该文章的作者。这篇文章本质上是用户的“个人资料页面”。

任何用户都可以看到任何其他用户配置文件页面。但是,如果它属于登录用户,我希望在配置文件页面上显示一个按钮。

换句话说:如果登录用户是当前正在查看的帖子的作者(在前端),那么显示按钮。

下面是我最接近我需要做的事情-我创建了一个css id为#profile_edit_按钮的按钮,并在默认情况下使用display:none将其隐藏。下面的代码“取消隐藏”按钮,但在所有配置文件页面上。它还抛出以下错误:

警告:未定义变量$user\u session\u id警告:未定义变量$author\u id

我使用的代码如下。任何指导都将不胜感激。

 if($user_session_id == $author_id) {
    ?>
    <style type="text/css">
        #profile_edit_button {
            display: flex !important;
        }
        </style>;
    <?php } ?>

共有1个答案

邓昀
2023-03-14

请尝试下面的代码。代码将进入您的活动主题函数。php文件。

function current_user_is_post_author(){
    if( is_single() ){
        global $post;
        if( get_current_user_id() == $post->post_author ) { ?>
            <style type="text/css">
                #profile_edit_button   {
                    display: flex !important;
                }
            </style>;
    <?php } }
}
add_action( 'wp_head', 'current_user_is_post_author', 10, 1 );
 类似资料:
  • 我目前正在完成一个客户网站的工作,我希望作者的简历出现在单篇文章的底部。唯一的问题是,我只想在填写用户简历的前端显示此部分。我很快就能让它工作了,但是由于某种原因,当bio部分包含副本时,下面代码中的内容没有显示在前端。 任何帮助都将不胜感激。谢谢

  • 我使用wordpress cms,我允许用户从前端发帖。有三种类型的用户。我自己是管理员,一个初级(作者角色)和任何来自公共部门的非登录用户。当前,如果有任何未登录的用户从前端发帖,我将被指定为具有此代码的作者。当前我的数组如下所示: 其中,我的作者id为“20”。这一切都很好。现在,我想实现的是,当我的小朋友登录并在前端创建帖子时,我希望他成为帖子作者,而不是我(目前的设置)。我知道post_作

  • 我试图将我当前用户的用户名添加到我的URL(route)中,但是我不断地得到错误。我已经尝试了很多下面提到的方法,但是没有一个有效。以下是我的代码: Layout.html: 当我尝试转到另一个页面时,我收到错误,当我转到设置时收到404。 jinja2.exceptions.UndefinedError jinja2.exceptions.UndefinedError:'user'未定义 MOD

  • 在一个新的WordPress模板中,我想自定义单个。php,以便仅向帖子作者显示评论列表。 其他用户(客人和其他帖子作者)不应该看到评论或空白。 总之,帖子作者(登录时)可以在他的帖子底部看到评论列表,但在其他作者写的帖子底部看不到任何内容。 我应该对下面的代码应用什么条件代码? 这仅适用于前端。我不关心管理面板。

  • <img> 标签好像只能指定一个 src 但是我有一个需求,就是如果图片存在我们的oss,就显示我们oss 上的图片;如果oss不存在,就用直接保存的原始来源链接。相当于「备用链接」 所以有什么简单又优雅的方式吗? 并不像让后端判断是否 oss 存在图片,因为这样有点慢

  • 我使用Wordpress作为我网站的后端,人们可以在这里创建帐户和撰写帖子。文章只能由文章作者查看。我在网站的大多数地方都处理过这个问题,例如,对帖子列表的查询: 我现在意识到,如果人们手动输入文章的URL(这很容易猜测),他们可以看到其他作者的文章。如果人们不是他们试图查看的文章的作者,我如何重定向他们?