// Ograniczenie wpForo według grup użytkowników z odliczaniem i automatycznym odświeżaniem
add_action('wpforo_before_add_post', function($postdata) {
if (!is_user_logged_in()) return; // tylko zalogowani użytkownicy
$user_id = get_current_user_id();
$user = wp_get_current_user();
// Tablica grup => limit w sekundach
$group_limits = [
'newbie' => 120,
'member' => 60,
'vip' => 30,
'administrator' => 30,
'moderator' => 60,
'subscriber' => 60
];
$limit_seconds = 0;
// sprawdzamy role użytkownika i ustawiamy limit
foreach ($user->roles as $role) {
if (isset($group_limits[$role])) {
$limit_seconds = $group_limits[$role];
break;
}
}
if ($limit_seconds > 0) {
$last_post_time = get_user_meta($user_id, '_wpforo_last_post_time', true);
$current_time = time();
if ($last_post_time && ($current_time - $last_post_time < $limit_seconds)) {
$remaining = $limit_seconds - ($current_time - $last_post_time);
wp_die('Musisz odczekać jeszcze <span id="countdown">' . $remaining . '</span> sekund przed napisaniem kolejnego posta.<br> Strona odświeży się automatycznie<br></br>
<button id="refreshButton">Odśwież stronę</button>
<script>
var seconds = ' . $remaining . ';
var countdownElem = document.getElementById("countdown");
var refreshButton = document.getElementById("refreshButton");
// odliczanie w dół
var interval = setInterval(function() {
seconds--;
if(seconds <= 0){
clearInterval(interval);
countdownElem.innerHTML = 0;
location.reload(); // automatyczne odświeżenie po upływie czasu
} else {
countdownElem.innerHTML = seconds;
}
}, 1000);
// przycisk odświeżania
refreshButton.addEventListener("click", function() {
location.reload();
});
</script>');
}
// zapisujemy czas ostatniego posta
update_user_meta($user_id, '_wpforo_last_post_time', $current_time);
}
});
// Ukryj pasek administracyjny dla wybranych ról
add_filter('show_admin_bar', function($show) {
if (!is_user_logged_in()) {
return false; // niezalogowani nie widzą
}
$user = wp_get_current_user();
// Lista ról, które mają widzieć pasek
$allowed_roles = ['administrator', 'moderator'];
// Sprawdź, czy użytkownik ma jedną z dozwolonych ról
foreach ($allowed_roles as $role) {
if (in_array($role, $user->roles)) {
return true; // pasek widoczny
}
}
return false; // pozostałe role nie widzą paska
});
// ================================
// PeepSo: Draggable wrapper dla całego modala + ukrycie checkboxa
// ================================
// 1. Ukrycie checkboxa "Zapamiętaj mnie" z peepso
add_action('wp_head', function() {
echo '<style>.ps-checkbox__label { display: none !important; }</style>';
});
// Ograniczenie wpForo według grup użytkowników z odliczaniem i automatycznym odświeżaniem
add_action('wpforo_before_add_post', function($postdata) {
if (!is_user_logged_in()) return; // tylko zalogowani użytkownicy
$user_id = get_current_user_id();
$user = wp_get_current_user();
// Tablica grup => limit w sekundach
$group_limits = [
'newbie' => 120,
'member' => 60,
'vip' => 30,
'administrator' => 30,
'moderator' => 60,
'subscriber' => 60
];
$limit_seconds = 0;
// sprawdzamy role użytkownika i ustawiamy limit
foreach ($user->roles as $role) {
if (isset($group_limits[$role])) {
$limit_seconds = $group_limits[$role];
break;
}
}
if ($limit_seconds > 0) {
$last_post_time = get_user_meta($user_id, '_wpforo_last_post_time', true);
$current_time = time();
if ($last_post_time && ($current_time - $last_post_time < $limit_seconds)) {
$remaining = $limit_seconds - ($current_time - $last_post_time);
wp_die('Musisz odczekać jeszcze <span id="countdown">' . $remaining . '</span> sekund przed napisaniem kolejnego posta.<br> Strona odświeży się automatycznie<br></br>
<button id="refreshButton">Odśwież stronę</button>
<script>
var seconds = ' . $remaining . ';
var countdownElem = document.getElementById("countdown");
var refreshButton = document.getElementById("refreshButton");
// odliczanie w dół
var interval = setInterval(function() {
seconds--;
if(seconds <= 0){
clearInterval(interval);
countdownElem.innerHTML = 0;
location.reload(); // automatyczne odświeżenie po upływie czasu
} else {
countdownElem.innerHTML = seconds;
}
}, 1000);
// przycisk odświeżania
refreshButton.addEventListener("click", function() {
location.reload();
});
</script>');
}
// zapisujemy czas ostatniego posta
update_user_meta($user_id, '_wpforo_last_post_time', $current_time);
}
});
// Ukryj pasek administracyjny dla wybranych ról
add_filter('show_admin_bar', function($show) {
if (!is_user_logged_in()) {
return false; // niezalogowani nie widzą
}
$user = wp_get_current_user();
// Lista ról, które mają widzieć pasek
$allowed_roles = ['administrator', 'moderator'];
// Sprawdź, czy użytkownik ma jedną z dozwolonych ról
foreach ($allowed_roles as $role) {
if (in_array($role, $user->roles)) {
return true; // pasek widoczny
}
}
return false; // pozostałe role nie widzą paska
});
// ================================
// PeepSo: Draggable wrapper dla całego modala + ukrycie checkboxa
// ================================
// 1. Ukrycie checkboxa "Zapamiętaj mnie" z peepso
add_action('wp_head', function() {
echo '<style>.ps-checkbox__label { display: none !important; }</style>';
});
(6 hours ago)adminCode:// Ograniczenie wpForo według grup użytkowników z odliczaniem i automatycznym odświeżaniem
add_action('wpforo_before_add_post', function($postdata) {
if (!is_user_logged_in()) return; // tylko zalogowani użytkownicy
$user_id = get_current_user_id();
$user = wp_get_current_user();
// Tablica grup => limit w sekundach
$group_limits = [
'newbie' => 120,
'member' => 60,
'vip' => 30,
'administrator' => 30,
'moderator' => 60,
'subscriber' => 60
];
$limit_seconds = 0;
// sprawdzamy role użytkownika i ustawiamy limit
foreach ($user->roles as $role) {
if (isset($group_limits[$role])) {
$limit_seconds = $group_limits[$role];
break;
}
}
if ($limit_seconds > 0) {
$last_post_time = get_user_meta($user_id, '_wpforo_last_post_time', true);
$current_time = time();
if ($last_post_time && ($current_time - $last_post_time < $limit_seconds)) {
$remaining = $limit_seconds - ($current_time - $last_post_time);
wp_die('Musisz odczekać jeszcze <span id="countdown">' . $remaining . '</span> sekund przed napisaniem kolejnego posta.<br> Strona odświeży się automatycznie<br></br>
<button id="refreshButton">Odśwież stronę</button>
<script>
var seconds = ' . $remaining . ';
var countdownElem = document.getElementById("countdown");
var refreshButton = document.getElementById("refreshButton");
// odliczanie w dół
var interval = setInterval(function() {
seconds--;
if(seconds <= 0){
clearInterval(interval);
countdownElem.innerHTML = 0;
location.reload(); // automatyczne odświeżenie po upływie czasu
} else {
countdownElem.innerHTML = seconds;
}
}, 1000);
// przycisk odświeżania
refreshButton.addEventListener("click", function() {
location.reload();
});
</script>');
}
// zapisujemy czas ostatniego posta
update_user_meta($user_id, '_wpforo_last_post_time', $current_time);
}
});
// Ukryj pasek administracyjny dla wybranych ról
add_filter('show_admin_bar', function($show) {
if (!is_user_logged_in()) {
return false; // niezalogowani nie widzą
}
$user = wp_get_current_user();
// Lista ról, które mają widzieć pasek
$allowed_roles = ['administrator', 'moderator'];
// Sprawdź, czy użytkownik ma jedną z dozwolonych ról
foreach ($allowed_roles as $role) {
if (in_array($role, $user->roles)) {
return true; // pasek widoczny
}
}
return false; // pozostałe role nie widzą paska
});
// ================================
// PeepSo: Draggable wrapper dla całego modala + ukrycie checkboxa
// ================================
// 1. Ukrycie checkboxa "Zapamiętaj mnie" z peepso
add_action('wp_head', function() {
echo '<style>.ps-checkbox__label { display: none !important; }</style>';
});
wpforo - ograniczenie spamu, ukrywa pasek wp dla nie adminów.
(6 hours ago)adminCode:// Ograniczenie wpForo według grup użytkowników z odliczaniem i automatycznym odświeżaniem
add_action('wpforo_before_add_post', function($postdata) {
if (!is_user_logged_in()) return; // tylko zalogowani użytkownicy
$user_id = get_current_user_id();
$user = wp_get_current_user();
// Tablica grup => limit w sekundach
$group_limits = [
'newbie' => 120,
'member' => 60,
'vip' => 30,
'administrator' => 30,
'moderator' => 60,
'subscriber' => 60
];
$limit_seconds = 0;
// sprawdzamy role użytkownika i ustawiamy limit
foreach ($user->roles as $role) {
if (isset($group_limits[$role])) {
$limit_seconds = $group_limits[$role];
break;
}
}
if ($limit_seconds > 0) {
$last_post_time = get_user_meta($user_id, '_wpforo_last_post_time', true);
$current_time = time();
if ($last_post_time && ($current_time - $last_post_time < $limit_seconds)) {
$remaining = $limit_seconds - ($current_time - $last_post_time);
wp_die('Musisz odczekać jeszcze <span id="countdown">' . $remaining . '</span> sekund przed napisaniem kolejnego posta.<br> Strona odświeży się automatycznie<br></br>
<button id="refreshButton">Odśwież stronę</button>
<script>
var seconds = ' . $remaining . ';
var countdownElem = document.getElementById("countdown");
var refreshButton = document.getElementById("refreshButton");
// odliczanie w dół
var interval = setInterval(function() {
seconds--;
if(seconds <= 0){
clearInterval(interval);
countdownElem.innerHTML = 0;
location.reload(); // automatyczne odświeżenie po upływie czasu
} else {
countdownElem.innerHTML = seconds;
}
}, 1000);
// przycisk odświeżania
refreshButton.addEventListener("click", function() {
location.reload();
});
</script>');
}
// zapisujemy czas ostatniego posta
update_user_meta($user_id, '_wpforo_last_post_time', $current_time);
}
});
// Ukryj pasek administracyjny dla wybranych ról
add_filter('show_admin_bar', function($show) {
if (!is_user_logged_in()) {
return false; // niezalogowani nie widzą
}
$user = wp_get_current_user();
// Lista ról, które mają widzieć pasek
$allowed_roles = ['administrator', 'moderator'];
// Sprawdź, czy użytkownik ma jedną z dozwolonych ról
foreach ($allowed_roles as $role) {
if (in_array($role, $user->roles)) {
return true; // pasek widoczny
}
}
return false; // pozostałe role nie widzą paska
});
// ================================
// PeepSo: Draggable wrapper dla całego modala + ukrycie checkboxa
// ================================
// 1. Ukrycie checkboxa "Zapamiętaj mnie" z peepso
add_action('wp_head', function() {
echo '<style>.ps-checkbox__label { display: none !important; }</style>';
});
wpforo - ograniczenie spamu, ukrywa pasek wp dla nie adminów.