所以我想出了这个主意。它的工作原理类似于自动应答器,它每7天(比方说)向所有订阅者发送一次已经准备好和计划好的内容。对于新订阅者,它从内容1开始,然后再发送内容2,以此类推。
我需要这个在wordpress上,除了会有注册和注册后,新成员只能看到第1个帖子。7天后,他会收到更多未隐藏的帖子,等等。另一位新成员无法看到这些新帖子,直到他等待了7天。
你明白了吗?也许你可以帮我找到一个插件,如果它存在的话。如果没有,也许会有志愿者创建这样的插件?无论如何,我真的很感激你的任何帮助!
所以我想出了这个主意。它的工作原理类似于自动应答器,它每7天(比方说)向所有订阅者发送一次已经准备好和计划好的内容。对于新订阅者,它从内容1开始,然后再发送内容2,以此类推。
我需要这个在wordpress上,除了会有注册和注册后,新成员只能看到第1个帖子。7天后,他会收到更多未隐藏的帖子,等等。另一位新成员无法看到这些新帖子,直到他等待了7天。
你明白了吗?也许你可以帮我找到一个插件,如果它存在的话。如果没有,也许会有志愿者创建这样的插件?无论如何,我真的很感激你的任何帮助!
您可以计算用户可以看到的帖子数量,如下所示:(int) ( ( time() - strtotime( get_userdata(get_current_user_id( ))->user_registered ) ) / ( 7 * 24 * 60 * 60 ) ) + 1;
因此,您为pre_get_posts
为了向用户显示他在您的网站上花费的尽可能多的帖子,请在几周内完成。
为了防止看到自定义输入链接的内容,您将过滤器添加到内容中,检查当前帖子是否在当前用户可用的帖子中。
当然,您可以为管理员显示所有内容
add_filter( \'pre_get_posts\', \'prefix_pre_get_posts\' );
function prefix_pre_get_posts( $query ) {
if( ! is_admin() && \'post\' == $query->post_type ) { // is_main_query() ?
$post_pre_page = null;
if( is_user_logged_in() && ! current_user_can( \'administrator\' ) ) {
$post_pre_page = (int) ( ( time() - strtotime( get_userdata(get_current_user_id( ))->user_registered ) ) / ( 7 * 24 * 60 * 60 ) ) + 1;
} elseif( ! is_user_logged_in() ) {
$post_pre_page = 0;
}
if( ! is_null( $post_pre_page ) ) {
$query->set( \'posts_per_page\', $post_pre_page );
// Show pastest posts first
$query->set( \'order\', \'DESC\' );
$query->set( \'orderby\', \'date\' );
}
}
}
add_filter( \'the_content\', \'prefix_filter_the_content\' );
function prefix_filter_the_content( $content ) {
if( current_user_can( \'administrator\' ) )
return $content;
$current_id = get_the_id();
$allowed_posts = get_posts( array( \'posts_per_page\' => -1 ) );
$flag = false;
if( ! empty( $allowed_posts ) )
foreach( $allowed_posts as $p )
if( $current_id == $p->ID ){
$flag = true;
break;
}
if( ! $flag ) {
return __( \'Your are not able to see these post\', \'your-textdomain\' );
}
return $content;
}
只需将这些代码添加到functions.php
.注:将7天更改为3天(例如),请在此处更改(7 * 24*60*60)“至”(3 * 24*60*60)\'
使用post元字段存储一个数值,该数值表示一个人在查看此特定帖子之前必须成为成员的天数。
使用pre_get_posts
检查成员的年龄并调整$query
相应地包括meta_query
仅显示值小于或等于成员年龄的帖子。
如果需要,我可以编写一些伪代码。
我的autoloader类负责加载必须使用的插件,这些插件不位于mu-plugins 文件夹要定位它们,我需要使用get_plugins() 作用According to Codex, 该函数接受一个参数:$plugin\\u folder(string)(可选):单个插件文件夹的相对路径。我的文件层次结构如下所示:|-- /mu-plugins | |-- autoload.php // only includes wpmu/autoload.php&#
所以我想出了这个主意。它的工作原理类似于自动应答器,它每7天(比方说)向所有订阅者发送一次已经准备好和计划好的内容。对于新订阅者,它从内容1开始,然后再发送内容2,以此类推。
我需要这个在wordpress上,除了会有注册和注册后,新成员只能看到第1个帖子。7天后,他会收到更多未隐藏的帖子,等等。另一位新成员无法看到这些新帖子,直到他等待了7天。
你明白了吗?也许你可以帮我找到一个插件,如果它存在的话。如果没有,也许会有志愿者创建这样的插件?无论如何,我真的很感激你的任何帮助!
您可以计算用户可以看到的帖子数量,如下所示:(int) ( ( time() - strtotime( get_userdata(get_current_user_id( ))->user_registered ) ) / ( 7 * 24 * 60 * 60 ) ) + 1;
因此,您为pre_get_posts
为了向用户显示他在您的网站上花费的尽可能多的帖子,请在几周内完成。
为了防止看到自定义输入链接的内容,您将过滤器添加到内容中,检查当前帖子是否在当前用户可用的帖子中。
当然,您可以为管理员显示所有内容
add_filter( \'pre_get_posts\', \'prefix_pre_get_posts\' );
function prefix_pre_get_posts( $query ) {
if( ! is_admin() && \'post\' == $query->post_type ) { // is_main_query() ?
$post_pre_page = null;
if( is_user_logged_in() && ! current_user_can( \'administrator\' ) ) {
$post_pre_page = (int) ( ( time() - strtotime( get_userdata(get_current_user_id( ))->user_registered ) ) / ( 7 * 24 * 60 * 60 ) ) + 1;
} elseif( ! is_user_logged_in() ) {
$post_pre_page = 0;
}
if( ! is_null( $post_pre_page ) ) {
$query->set( \'posts_per_page\', $post_pre_page );
// Show pastest posts first
$query->set( \'order\', \'DESC\' );
$query->set( \'orderby\', \'date\' );
}
}
}
add_filter( \'the_content\', \'prefix_filter_the_content\' );
function prefix_filter_the_content( $content ) {
if( current_user_can( \'administrator\' ) )
return $content;
$current_id = get_the_id();
$allowed_posts = get_posts( array( \'posts_per_page\' => -1 ) );
$flag = false;
if( ! empty( $allowed_posts ) )
foreach( $allowed_posts as $p )
if( $current_id == $p->ID ){
$flag = true;
break;
}
if( ! $flag ) {
return __( \'Your are not able to see these post\', \'your-textdomain\' );
}
return $content;
}
只需将这些代码添加到functions.php
.注:将7天更改为3天(例如),请在此处更改(7 * 24*60*60)“至”(3 * 24*60*60)\'
使用post元字段存储一个数值,该数值表示一个人在查看此特定帖子之前必须成为成员的天数。
使用pre_get_posts
检查成员的年龄并调整$query
相应地包括meta_query
仅显示值小于或等于成员年龄的帖子。
如果需要,我可以编写一些伪代码。
我试图在表单提交后向用户发送电子邮件,但出现错误Call to undefined function wp_mail() in C:\\xampp\\htdocs\\wordpress\\wp-content\\plugins\\contact form\\contact-form-plugin.php on line 46<我在谷歌上搜索了一下,发现它与add_action( \'plugins_loaded\', \'functionShowForm\' );.我在代码中添加了这一行,但它在主窗