以下是您在子网站上强制注册的操作:
/**
* Require registration for comments on subsites too.
*/
function ourcomments_pre_option_comment_registration( $value )
{
return 1;
}
add_filter( \'pre_option_comment_registration\', \'ourcomments_pre_option_comment_registration\', 10, 1 );
要仅显示用于登录的社交按钮,可以使用以下方法:
/**
* Hide login fields. Only social logins.
*/
function ourcomments_only_social_logins_login_form() {
?>
<script type="text/javascript">
(function() {
// Some things seems to be added later, hide them. And display site name.
var cssHide = "";
cssHide += "div#login h1 a { background:none; text-indent: 0; font-size: 30px; font-weight: bold; width: auto; height: auto; color: black; }";
function checkAndRemove(el) {
if (el) {
var elP = el.parentElement;
if (elP && "P" !== elP.nodeName) elP = elP.parentElement;
if (elP && "P" === elP.nodeName) {
elP.parentElement.removeChild(elP);
}
}
}
checkAndRemove(document.getElementById("user_login"));
checkAndRemove(document.getElementById("user_pass"));
// checkAndRemove(document.getElementById("rememberme"));
cssHide += " div#login form#loginform p.forgetmenot { display:none }";
// checkAndRemove(document.getElementById("wp-submit"));
cssHide += " div#login form#loginform p.submit { display:none }";
// Remove lost password (looks easily breakable...):
var navLostPassword = document.querySelector("div#login p#nav")
if (navLostPassword)
navLostPassword.parentElement.removeChild(navLostPassword);
else {
console.log("p#nav not found");
cssHide += " div#login p#nav { display:none }";
}
// For Nextend:
var nextendOr = document.querySelector("div#login form#login-form h3");
if (nextendOr)
nextendOr.replaceChild(document.createTextNode("Please login!"), nextendOr.firstChild);
else {
console.log("h3 not found");
cssHide += " h3 { display: none; }";
}
var s = document.createElement("style");
s.appendChild(document.createTextNode(cssHide));
document.body.appendChild(s);
})();
</script>
<?php
}
add_action(\'login_form\', \'ourcomments_only_social_logins_login_form\', 1000);
add_action(\'register_form\', \'ourcomments_only_social_logins_login_form\', 1000);
add_action(\'bp_sidebar_login_form\', \'ourcomments_only_social_logins_login_form\', 1000);
由于社交按钮的插件不会将其放置在子站点上,因此您可能希望通过主站点登录:
/**
* Login through main site.
* Mostly a copy of the wp_login_url in general-template.php.
* Fix-me: move to plugin.
*/
function ourcomments_network_login_url($login_url, $redirect) {
$net_login_url = network_site_url(\'wp-login.php\', \'login\');
$my_redirect = $redirect;
if ( empty($my_redirect) )
$my_redirect = $_SERVER[\'REQUEST_URI\'];
if ( !empty($my_redirect) )
$net_login_url = add_query_arg(\'redirect_to\', urlencode($my_redirect), $net_login_url);
// We do not have the $force_reauth arg but we know how it looks in the url.
$values = parse_url($login_url);
$query = $values[\'query\'];
parse_str($query, $output);
if ( $output[\'reauth\'] )
$net_login_url = add_query_arg(\'reauth\', \'1\', $net_login_url);
return $net_login_url;
}
add_filter(\'login_url\', \'ourcomments_network_login_url\', -100, 2);
这可以添加到主题函数中。php。或者加入一个插件(我还没来得及这么做)。
也许我应该补充一点,恶意用户仍然可以尝试以其他方式获取。这只是为了让普通用户更舒适。