Возможно ли отображать кнопку только для авторизованных пользователей?
У меня есть класс "rty-downloads", и я хочу, чтобы этот класс отображался только для авторизованных пользователей WordPress. Это возможно?
Заранее спасибо

Этот код можно использовать на любой странице или шаблоне WordPress.
<?php if ( is_user_logged_in() ) : ?>
//Код только для авторизованных пользователей
<?php endif; ?>
Ознакомьтесь с документацией для получения дополнительной информации: https://developer.wordpress.org/reference/functions/is_user_logged_in/

Для меня работает только
/* показывать кнопку блога только если пользователь авторизован */
li.button-class {
visibility: hidden !important;
display: none !important;
}
.logged-in li.button-class {
visibility: visible !important;
display: inline-block !important;
}

Я попробовал, но это не работает, простым решением может быть функция, которая проверяет, авторизован ли пользователь, чтобы отобразить этот класс "rty-downloads"
Заранее спасибо

Вот что я использую:
functions.php (в дочерней теме):
add_action('shutdown', function() {
$final = '';
$levels = ob_get_level();
for ($i = 0; $i < $levels; $i++)
{
$final .= ob_get_clean();
}
echo apply_filters('final_output', $final);
}, 0);
add_filter('final_output', function($output) {
$display1 = 'none';
$display2 = 'block';
if(is_user_logged_in()) {
$display1 = 'block';
$display2 = 'none';
}
$from = array('%display1%', '%display2%');
$to = array($display1, $display2);
$output = str_replace($from,$to,$output);
return $output;
});
CSS:
.for-logged-in-users {
display: %display1%;
}
.for-logged-out-users {
display: %display2%;
}
Затем вы можете просто добавить эти два класса для элементов, которые хотите отображать/скрывать. Таким образом, вы можете отображать/скрывать любые элементы на основе любой логики.

final_output, насколько я знаю, не является стандартным фильтром WordPress? Это из вашего плагина кеширования или что-то подобное? Как он фильтрует CSS, который обычно отдается статически веб-сервером?

Я также не уверен, что этот способ имеет преимущества перед чистым CSS-решением с использованием класса logged-in у тега body, который WordPress уже генерирует.

Если вы авторизованы на сайте, WordPress добавляет класс 'logged-in' к тегу body. CSS-селектор body.logged-in .for-logged-in-users
означает элементы с классом for-logged-in-users, которые находятся внутри тега body с классом logged-in. При выборе между подходящими элементами CSS отдаёт приоритет наиболее специфичному. Таким образом, вы можете использовать .for-logged-in-users { display: none; }
чтобы скрыть эти элементы по умолчанию, и body.logged-in .for-logged-in-users { display: block; }
чтобы переопределить display: none на display: block, если на теге body есть класс logged-in.

Понял, действительно, это лучшее решение, спасибо за объяснение. Однако у меня есть другие CSS-классы и уникальные тексты, которые нужно изменять/заменять на основе более сложных условий, поэтому для меня имеет больше смысла модифицировать эти классы также с помощью PHP-функции.
