Otshelnik-Fm сказал(а)
Если кабинет выводится через файл author.php вп шаблона проблемы не вижу:
global $user_ID; $user_LK; if (!$user_ID || $user_ID != $user_LK){ echo 'Error mazafaka'; } else { if(function_exists('wp_recall')) wp_recall(); }
Не пойму куда вставить данный код, в function.php выдает крамешный ERROR
Otshelnik-Fm сказал(а)
Вы не можете просматривать опубликованные ссылки2й способ
В папке с темой создал данный файл с вот таким содержимым:
<?php if(function_exists('wp_recall')&&is_author()) wp_recall(); global $user_ID; $user_LK; if (!$user_ID || $user_ID != $user_LK){ echo 'Error mazafaka'; } else { if(function_exists('wp_recall')) wp_recall(); } ?>
Все равно показывает профиль
Ну уж извините)) что заказали - то и получили. Результат - кабинет скрыт.
Стили у меня все есть. Что там у вас чего не хватает - видно вам. Вы всегда вместо того полезного сообщения на английском можете поставить кучу блоков с информацией или еще что.
С редиректами я вам наверно не дам всю информацию - времени нет все проверить. Но может опираясь на ссылку что и сделаете
Otshelnik-Fm сказал(а)
Ну уж извините)) что заказали - то и получили. Результат - кабинет скрыт.
Стили у меня все есть. Что там у вас чего не хватает - видно вам. Вы всегда вместо того полезного сообщения на английском можете поставить кучу блоков с информацией или еще что.
С редиректами я вам наверно не дам всю информацию - времени нет все проверить. Но может опираясь на ссылку что и сделаете
Отшельник, по ходу без Вас я не справлюсь. Я так понимаю должен быть какой-то аналог тому php коду который Вы мне дали для вставки допустим в шаблон страницы темы?
Если Вам не тяжело могли бы мне дать такой код? Что б отображался только кабинет пользователя, а если пользователь переходит на страницу профиля другого пользователя был или редирект или отображение пустой страницы.
Очень Вам благодарен, на 99% вопросов заданным мной на форуме, я получаю ответы от Вас.
Впринцепе от незарегистрированных пользователей контент скрыл при помощи добавления шорт кодов в function.php
function hidden_content_from_guests( $atts, $content = null ) { if (is_user_logged_in() && !is_null($content) && !is_feed()) { return $content; } return '<span>Контент доступен только для зарегистрированных пользователей!Пожалуйста <a href="http://САЙТ/registraciya" style="color: #3d8e22">зарегистрируйтесь</a> или <a href="http://САЙТ/" style="color: #3d8e22">авторизируйтесь</a> </span>'; } add_shortcode( 'guest', 'hidden_content_from_guests' );
Шорткод [guest] перед контентом, который необходимо скрыть, и [/guest] после
Теперь осталось скрыть отображения профилей от зарегистрированных пользователей
dydaevskiy сказал(а)
Впринцепе от незарегистрированных пользователей контент скрыл при помощи добавления шорт кодов в function.php
function hidden_content_from_guests( $atts, $content = null ) { if (is_user_logged_in() && !is_null($content) && !is_feed()) { return $content; } return '<span>Контент доступен только для зарегистрированных пользователей!Пожалуйста <a href="http://САЙТ/registraciya" style="color: #3d8e22">зарегистрируйтесь</a> или <a href="http://САЙТ/" style="color: #3d8e22">авторизируйтесь</a> </span>'; } add_shortcode( 'guest', 'hidden_content_from_guests' );
Шорткод [guest] перед контентом, который необходимо скрыть, и [/guest] после
Теперь осталось скрыть отображения профилей от зарегистрированных пользователей
Нет нефига, (((. Теперь при применении данного шорт кода место ЛК WP_RECALL, отображается текстом шорт код [wp-recall].
В моем первом коде (2е сообщение) была точка с запятой при перечислении глобальных переменных. Понятно что $user_LK не была определена. Заметил только что
global $user_ID, $user_LK; if (!$user_ID || $user_ID != $user_LK){ echo 'Error mazafaka'; } else { if(function_exists('wp_recall')) wp_recall(); }
Этот код запретит неавторизованным смотреть чужие кабинеты. А авторизованным смотреть чужие кабинеты, но даст возможность войти в свой. Тупо редирект на главную
add_action('template_redirect', 'redirect_for_another_cabinet'); function redirect_for_another_cabinet(){ global $user_ID,$user_LK; if(is_author() && $user_ID == $user_LK) return false; if (is_author()){ wp_redirect( home_url()); exit; } }
upd: этот код актуален при выводе кабинета через файл author.php, а не через шорткод.
p.s. как они будут обмениваться в ЛС - я не знаю. но в любом случае - задача решена
dydaevskiy сказал(а)
dydaevskiy сказал(а)
Впринцепе от незарегистрированных пользователей контент скрыл при помощи добавления шорт кодов в function.php
function hidden_content_from_guests( $atts, $content = null ) { if (is_user_logged_in() && !is_null($content) && !is_feed()) { return $content; } return '<span>Контент доступен только для зарегистрированных пользователей!Пожалуйста <a href="http://САЙТ/registraciya" style="color: #3d8e22">зарегистрируйтесь</a> или <a href="http://САЙТ/" style="color: #3d8e22">авторизируйтесь</a> </span>'; } add_shortcode( 'guest', 'hidden_content_from_guests' );
Шорткод [guest] перед контентом, который необходимо скрыть, и [/guest] после
Теперь осталось скрыть отображения профилей от зарегистрированных пользователейНет нефига, (((. Теперь при применении данного шорт кода место ЛК WP_RECALL, отображается текстом шорт код [wp-recall].
Победил )))
Новый шорт код который отображает содержимое шорткода WP-RECALL:
/* Запрет просмотра профиля http://webmaster-gambit.ru/wordpress-skryit-kontent-tolko-dlya-zaregistrirovannyih-polzovateley/ */ /* Теперь добавим шорткод [hide_content_shortcode] перед контентом, который необходимо скрыть, и [/hide_content_shortcode] после */ function hidden_content_from_guests( $atts, $content = null ) { if (is_user_logged_in() && !is_null($content) && !is_feed()) { return do_shortcode($content); } return '<span><p class="aligncenter">Контент доступен только для зарегистрированных пользователей!</br>Пожалуйста <a href="http://#/registraciya" style="color: #3d8e22;">зарегистрируйтесь</a> или <a href="http://test.cofe-code.net.ua/#" style="color: #3d8e22;">авторизируйтесь</a></p></span>'; } add_shortcode( 'hide_content_shortcode', 'hidden_content_from_guests' ); /* END */
Otshelnik-Fm сказал(а)
Этот код запретит неавторизованным смотреть чужие кабинеты. А авторизованным смотреть чужие кабинеты, но даст возможность войти в свой. Тупо редирект на главную
add_action('template_redirect', 'redirect_for_another_cabinet'); function redirect_for_another_cabinet(){ global $user_ID,$user_LK; if(is_author() && $user_ID == $user_LK) return false; if (is_author()){ wp_redirect( home_url()); exit; } }p.s. как они будут обмениваться в ЛС - я не знаю. но в любом случае - задача решена
Я могу его добавить в function.php (простите если данный вопрос покажется тупым)?