11ответ(ов) в теме
Spartak
не в сети 4 года
На сайте с 11.09.2019
Участник
Тем 10
Сообщения 41
1
11:11
Версия WP-Recall: 16.8.0
Версия дополнения: 1.8.3

Добрый день.
Скрыл контент через php код. Возможно ли в этом случае показать часть контента.
Т.е. в публикациях добавил доп. поля штатными средствами WP-Recall (поле 1, поле 2 и т.п) потом сам текст.
Возможно ли доп. поля показывать, а основной текст скрыть?
Спасибо.

Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 17012
2
11:14

Добрый день.
Если вы скрыли контент через php, то там же можете вывести тот контент, который нужно показать, также через php, там где условие проверки доступа не выполняется формируйте вывод.

Spartak
не в сети 4 года
На сайте с 11.09.2019
Участник
Тем 10
Сообщения 41
3
11:39

Если я правильно понимаю доп. поля вместе с остальным контентом выводятся через the_content, как их разделить?

Spartak
не в сети 4 года
На сайте с 11.09.2019
Участник
Тем 10
Сообщения 41
4
11:42

Либо вместо полей можно вывести the_excerpt, но там не будет возможности форматировать анонс из фронтэнда, так?

Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 17012
5
16:27

поля вместе с остальным контентом выводятся через the_content

они выводятся через the_content, когда весь контент доступен, вам же просто надо вывести эти поля по отдельности стандартными средствами WP, используйте функцию get_post_meta()

Spartak
не в сети 4 года
На сайте с 11.09.2019
Участник
Тем 10
Сообщения 41
6
16:46

Я уже так и сделал, через get_post_meta() только теперь они дублируются. Т.е выводятся до проверки (доступны для всех). и дублируются после проверки. как их убрать после проверки?

Spartak
не в сети 4 года
На сайте с 11.09.2019
Участник
Тем 10
Сообщения 41
7
16:47

Или можно до проверки вывести get_post_meta() - доп. полей
а после проверки get_post_meta() текстового поля вместо the_content.
Так правильно будет?

Попробовал получить содержание публикации через get_post_meta($post->ID, 'post_content', $single = true ) - не сработало.
Ключ текстового поля - post_content ?
Прошу прощения что много вопросов задаю.

Редакции сообщения
25.09.2019 17:32SpartakПричина: не указано
25.09.2019 17:34SpartakПричина: не указано
25.09.2019 18:39SpartakПричина: не указано
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 17012
8
18:58

Я не понимаю о чем идет речь, покажите свой код.
Поле с ключом "post_content" не сохраняет данные в произвольные поля, это содержимое публикации, храниться в $post->post_content

Spartak
не в сети 4 года
На сайте с 11.09.2019
Участник
Тем 10
Сообщения 41
9
19:06

Пытался сделать так

Спойлер

это доп. поля которые показываю в свободном доступе

 <?php echo '<span>'.  esc_html_e( 'Сожность:', 'fit' ).'<span>' ; ?> <?php echo   (get_post_meta($post->ID, 'slolzhnost', $single = true)) ; ?>

 <?php echo '<div>'. (get_post_meta($post->ID, 'vremya', $single = true)). '<div>' ; ?>

<?php echo '<div>'. (get_post_meta($post->ID, 'uroven', $single = true)). '<div>' ; ?>

<hr>

Далее закрытый контент

<?php 

global $WAU_User;
//идентификаторы доступа, 
//которыми закрываем контент
$account_ids = array(9,10);
//соответствие доступа
$important = 0; //1

if($WAU_User->is_branch_access($account_ids, $important)){

   //здесь я пытался получить поле самой статьи  (закрытого контента)
     echo  get_post_meta($post->ID, 'my-content', $single = true )  ;
  
?>
 
<?php } else {  // сообщение для гостей ?>

текст.....
?>
<?php } ?>

Редакции сообщения
25.09.2019 19:07SpartakПричина: не указано
25.09.2019 19:11Андрей CSПричина: не указано
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 17012
10
19:15

У вас есть три блока:
- доступный для всех
- только для тех у кого есть доступ
- для тех у кого нет доступа

вот и выведите свой контент так, чтобы выводить каждому то что требуется.

текст публикации можно вывести так:

echo wpautop($post->post_content);

Spartak
не в сети 4 года
На сайте с 11.09.2019
Участник
Тем 10
Сообщения 41
11
19:17

Аллилуйя ))
Спасибо огромное. Все сработало

Тема закрыта. Публикация новых сообщений запрещена.