首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在WordPress中显示一个按钮,但除非登录,否则它是不可点击的?

如何在WordPress中显示一个按钮,但除非登录,否则它是不可点击的?
EN

WordPress Development用户
提问于 2021-01-12 18:25:59
回答 1查看 250关注 0票数 0

我希望有人能给我指明正确的方向。我不希望有任何我的Wordpress网站隐藏,但我有一个HTML按钮在我的文章内容。我希望这个按钮对客人是可见的,但除非登录,否则是不可点击的。有谁能就最佳的方法提出建议?

EN

回答 1

WordPress Development用户

发布于 2021-01-13 01:13:08

您没有提供任何代码,所以我将给您一些伪代码,然后您将如何处理它:

您的HTML按钮:

代码语言:javascript
复制
Download

现在,您需要为以下内容编写一些CSS样式规则:

代码语言:javascript
复制
.download-button{}
.download-button.disabled{}

让一个人看起来像一个明亮的,充满活力的,可用的按钮,使残疾人看起来迟钝和不可用,因为它不会。

最后,在PHP/模板中,您希望在加载按钮的HTML之前运行以下内容:

代码语言:javascript
复制
if( is_user_logged_in() ) :
    $download_url = 'https://thedomain.com/file-path/to-your/downloadable-file.pdf';
    $is_disabled  = '';
else :
    $download_url = '';
    $is_disabled  = ' disabled';
    //notice that there's a space at the beginning of ' disabled'
    //that's so the two classes don't merge into one string when you echo it out.
endif;

下面是发生的事情。

首先,我们保留来自访问者的下载值,因为某个精通技术的人可以很容易地查看源代码并获取下载URL,因此我们使用php变量来设置我们,以便在页面呈现时向HTML提供不同的信息,同时对访问者是否登录进行有条件的检查。这就是PHP正在做的事情。

CSS只是使用.disabled类来使按钮看起来不吸引人,并使其看起来不活跃。人们可以点击所有他们喜欢的,但由于他们没有登录,它将没有一个HREF值。

现在您没有问这个问题,但是您也可以获得更好的效果,并在主脚本文件夹中添加一些类似的jQuery:

代码语言:javascript
复制
if( $( '.download-button.disabled' ).length > 0 ) {
    $( '.download-button.disabled' ).on( 'click', function(e) {
        e.preventDefault();
        alert( 'Please sign up to our site if you would like access to downloads.' );
    } );
}

这样做的目的是防止链接/按钮执行默认行为,如果它有.disabled类,并且我提交了一条警告消息,以确保良好的度量。这看上去是半途而废,所以你可能会想要创建一个弹出消息或一条幻灯片信息,更好地调用操作,或者链接到表单和其他东西。

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/381397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档