Membermouse - 如何在有限的时间内显示内容,Wordpress
Membermouse - How to display content for a finite period of time, Wordpress
我正在开发 MemberMouse 订阅 Wordpress 网站。在特定的用户页面上,我想在有限的时间内显示内容。同样应该进入一个小部件。
[MM_Member_Decision membershipId='1' daysAsMember='1' daysAsMember='-3']
**HERE SHOULD BE CONTENT OR A PICTURE**
[/MM_Member_Decision]
基本上,我希望能够在有限的时间内(例如,仅 24 小时)为我的会员显示内容。
我希望能够在成员生命周期的任何时间执行此操作(例如,他们加入后 7 天、加入后 30 天等)
通常 SmartTag 看起来像上面,文档如下:
[MM_Member_Decision membershipId='1' daysAsMember='7']
This content will be displayed if the viewing member has been a member of membership level with ID #1 for at least 7 days.
[/MM_Member_Decision]
[MM_Member_Decision membershipId='1' daysAsMember='-10']
This content will be displayed if the viewing member has been a member of membership level with ID #1 for no more than 10 days.
[/MM_Member_Decision]
尽管这很有用,但 MemberMouse 不允许我们同时为 daysAsMember 参数(或 daysWithBundle 参数)定义正值和负值。
换句话说,如果我们想在 John 成为会员的第 7 天向他展示我们的 "Super Awesome Content",并在第 8 天使其再次不可见(从而使其成为仅 24 小时可用的 window),我们不能用 MemberMouse 开箱即用。
我在网上找到了这个作为解决方案:
<?php if(mm_member_decision(array("daysAsMember"=>"1")) && mm_member_decision(array("daysAsMember"=>"-3")) && (mm_member_decision(array("hasBundle"=>"2")) == false)) { echo '"13")) . '">**HERE SHOULD BE CONTENT OR A PICTURE** ; } ?>
您会注意到第一个 PHP 标签会检查以确保该成员已成为成员 1 天。
第二个标签检查以确保他成为会员的时间超过 3 天。
然后我们检查以确保他无权访问 ID 号为 2 的捆绑包。
如果满足所有这些条件,我们将显示文本“HERE SHOULD BE CONTENT OR A PICTURE”。
然后关闭 PHP 语句。
到目前为止一切顺利。但是,几天以来我一直在尝试如何将此事实现到小部件或页面中。由于它是一个 PHP 代码,所以有点困难。另外,我不确定 PHP 代码是否正确。这只是我在网上找到的假设。
如能解决此问题,我们将不胜感激。
谢谢,
亚伦
您要做的第一件事是创建一个小部件。您可以使用 Widgets API 来做到这一点。然后,您可以将任何 php 代码放入小部件的实例中。
这样的东西应该可以让你开始(在 functions.php 或其他主题文件中)
class MemberMouseFiniteContent extends WP_Widget {
function __construct(){
parent::__construct('mm-finite-content',
'MemberMouse Finite Content',
array('description' => 'A widget for displaying content in a time window')
);
}
// front-end
public function widget($args,$instance){
if( mm_member_decision(array("daysAsMember"=>"1"))
&& mm_member_decision(array("daysAsMember"=>"-3"))
&& (mm_member_decision(array("hasBundle"=>"2")) == false)
) {
echo 'HERE SHOULD BE CONTENT OR A PICTURE';
}
}
public function form($instance){
// if you want to configure the widget put the form here.
// @see https://codex.wordpress.org/Widgets_API
}
public function update($new,$old){
return $new;
}
}
// register the widget
add_action( 'widgets_init', function(){
register_widget( 'MemberMouseFiniteContent' );
});
我正在开发 MemberMouse 订阅 Wordpress 网站。在特定的用户页面上,我想在有限的时间内显示内容。同样应该进入一个小部件。
[MM_Member_Decision membershipId='1' daysAsMember='1' daysAsMember='-3']
**HERE SHOULD BE CONTENT OR A PICTURE**
[/MM_Member_Decision]
基本上,我希望能够在有限的时间内(例如,仅 24 小时)为我的会员显示内容。 我希望能够在成员生命周期的任何时间执行此操作(例如,他们加入后 7 天、加入后 30 天等)
通常 SmartTag 看起来像上面,文档如下:
[MM_Member_Decision membershipId='1' daysAsMember='7']
This content will be displayed if the viewing member has been a member of membership level with ID #1 for at least 7 days.
[/MM_Member_Decision]
[MM_Member_Decision membershipId='1' daysAsMember='-10']
This content will be displayed if the viewing member has been a member of membership level with ID #1 for no more than 10 days.
[/MM_Member_Decision]
尽管这很有用,但 MemberMouse 不允许我们同时为 daysAsMember 参数(或 daysWithBundle 参数)定义正值和负值。 换句话说,如果我们想在 John 成为会员的第 7 天向他展示我们的 "Super Awesome Content",并在第 8 天使其再次不可见(从而使其成为仅 24 小时可用的 window),我们不能用 MemberMouse 开箱即用。
我在网上找到了这个作为解决方案:
<?php if(mm_member_decision(array("daysAsMember"=>"1")) && mm_member_decision(array("daysAsMember"=>"-3")) && (mm_member_decision(array("hasBundle"=>"2")) == false)) { echo '"13")) . '">**HERE SHOULD BE CONTENT OR A PICTURE** ; } ?>
您会注意到第一个 PHP 标签会检查以确保该成员已成为成员 1 天。
第二个标签检查以确保他成为会员的时间超过 3 天。
然后我们检查以确保他无权访问 ID 号为 2 的捆绑包。
如果满足所有这些条件,我们将显示文本“HERE SHOULD BE CONTENT OR A PICTURE”。
然后关闭 PHP 语句。
到目前为止一切顺利。但是,几天以来我一直在尝试如何将此事实现到小部件或页面中。由于它是一个 PHP 代码,所以有点困难。另外,我不确定 PHP 代码是否正确。这只是我在网上找到的假设。
如能解决此问题,我们将不胜感激。
谢谢, 亚伦
您要做的第一件事是创建一个小部件。您可以使用 Widgets API 来做到这一点。然后,您可以将任何 php 代码放入小部件的实例中。
这样的东西应该可以让你开始(在 functions.php 或其他主题文件中)
class MemberMouseFiniteContent extends WP_Widget {
function __construct(){
parent::__construct('mm-finite-content',
'MemberMouse Finite Content',
array('description' => 'A widget for displaying content in a time window')
);
}
// front-end
public function widget($args,$instance){
if( mm_member_decision(array("daysAsMember"=>"1"))
&& mm_member_decision(array("daysAsMember"=>"-3"))
&& (mm_member_decision(array("hasBundle"=>"2")) == false)
) {
echo 'HERE SHOULD BE CONTENT OR A PICTURE';
}
}
public function form($instance){
// if you want to configure the widget put the form here.
// @see https://codex.wordpress.org/Widgets_API
}
public function update($new,$old){
return $new;
}
}
// register the widget
add_action( 'widgets_init', function(){
register_widget( 'MemberMouseFiniteContent' );
});