Membermouse - 如何显示有限的时间内容,Wordpress

问题描述:

我正在MemberMouse订阅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天等)

通常智能标签看起来像上面,文档如下:

[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参数)。 换句话说,如果我们想在约会第7天向约翰展示我们的“超级真棒内容”,并在第8天再次隐藏它(因此使它成为仅24小时的可用窗口),我们不能与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

而如果所有这些条件都满足,我们显示文本“在这里需要内容或图片捆绑 ”。

然后关闭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'); 
});