我希望有人能给我指明正确的方向。我不希望有任何我的Wordpress网站隐藏,但我有一个HTML按钮在我的文章内容。我希望这个按钮对客人是可见的,但除非登录,否则是不可点击的。有谁能就最佳的方法提出建议?
发布于 2021-01-13 01:13:08
您没有提供任何代码,所以我将给您一些伪代码,然后您将如何处理它:
您的HTML按钮:
Download现在,您需要为以下内容编写一些CSS样式规则:
.download-button{}
.download-button.disabled{}让一个人看起来像一个明亮的,充满活力的,可用的按钮,使残疾人看起来迟钝和不可用,因为它不会。
最后,在PHP/模板中,您希望在加载按钮的HTML之前运行以下内容:
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:
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类,并且我提交了一条警告消息,以确保良好的度量。这看上去是半途而废,所以你可能会想要创建一个弹出消息或一条幻灯片信息,更好地调用操作,或者链接到表单和其他东西。
https://wordpress.stackexchange.com/questions/381397
复制相似问题