我正在为wordpress编写一个php插件。我试图注意干净的编码,并想知道在 IF 语句中返回几行 HTML 代码的最佳实践。
显然我知道echo
但我认为我见过这样的技术,但它似乎对我不起作用。这个想法是创建几个$content变量,然后将其返回到 IF 语句之外。
function signup() {
if(!Skizzar_Registration::is_skizzar_site_active()) {
$content = '<div class="signup">';
$content .= '<h1>Sign up</h1>';
$content .= '</div>';
} else {
$content = '<div class="signed_up">you are already signed up</div>';
}
return $content;
}
目前,虽然当我调用函数时这不会返回任何内容
正如您已经发现的那样,具体问题是您没有对数据进行检查。
根据您的后续问题(首选,返回或回显),在wordpress中似乎有一个约定,其中提供了两个选项以及相应命名的功能:
//echos
function the_signup_form(){
echo get_the_signup_form();
}
//returns
function get_the_signup_form(){
if(!Skizzar_Registration::is_skizzar_site_active()) {
$content = '<div class="signup">';
$content .= '<h1>Sign up</h1>';
$content .= '</div>';
} else {
$content = '<div class="signed_up">you are already signed up</div>';
}
return $content;
}