我试图将单个页面上的主要内容区域替换为即将推出(在两个页面上,但不是网站的其他部分)。也只是想让它成为那些没有登录的人看到即将到来的页面和登录的人看到实际的页面,所以它可以被处理。到目前为止,我有这个代码,但是没有用。
add_action( 'the_content', ‘ind_coming_soon_page’ );
function ind_coming_soon_page( $content ) {
if ( is_user_logged_in() ) {
return;
} else {
if (is_page( 10142 || 9035 )) {
echo “Coming Soon”;
} else {
return $content;
}
}
}
我在尝试启用插件时一直收到以下错误(我也不知道它是否正常工作),错误与第18行echo "Coming Soon!";
有关:
解析错误:语法错误,意外T_STRING,期待','或';'在第18行的/var/www/vhosts/vagish.com/httpdocs/wp-content/plugins/test/coming-soon.php
答案 0 :(得分:1)
这里有几件事。首先,我认为您应该使用add_filter( 'the_filter', 'ind_coming_soon_page' );
而不是add_action()
。我不认为the_content
有一个动作挂钩。这是the_content()
filter
接下来,我认为您的代码存在一些问题。你需要设置字符串"即将推出"到$content
变量。 is_page()
函数已关闭,但参数错误。
add_filter( 'the_content', ‘ind_coming_soon_page’ );
function ind_coming_soon_page( $content ) {
if ( is_user_logged_in() ) {
return;
} else {
if (is_page( array( 10142, 9035 )) {
$content = "Coming Soon";
}
}
}
return $content;
}
我为你准备了一些东西。基本上,如果用户已登录,请退出。如果他们不是,他们会在这两个页面ID中的一个(我将其切换到数组后面是codex上的引用:http://codex.wordpress.org/Function_Reference/is_page),然后将$ content变量设置为&#34即将推出"。然后,无论是否满足这些条件,我们都会返回$content
变量。
这是未经测试的,但我很确定它会起作用。