Bug em função private files

Estava tendo um problema com as imagens privadas, e fui até o código para tentar resolver, encontrei a função template_redirect, e percebi que a linha de verificação $item->can_read() está retornando vazio, não identificando a minha permissão. O que posso fazer?

Boa tarde @Barbhara_Resende, seja bem vinda
A função $item->can_read() deve retornar um booleano (true ou false) de acordo com o usuário que esteja logado.
Você consegue acessar esse item pela parte administrativa do Tainacan?

Então esse item não está retornando nada, vazio.

dependendo de como você tá visualizando o retorno, o “false” pode está sendo exibido como uma string vazia, você consegue executar alguns scripts em php para fazermos alguns teste:

<?php
require_once("./wp-load.php");

wp_logout(); //logout do usuario atual;
wp_set_current_user(<ID_DO_USUARIO>); //configurar usuário atual pelo ID do usuário.
$item_id = <ID_DO_ITEM>;

$user = wp_get_current_user();
echo "\n\n\n------------->\nUSER NAME:" . $user->user_login . "\n";

echo "\n\n@@@@@@@@@@@@@@@\nread_post $item_id: ";
$read_post = current_user_can('read_post', $item_id);
echo $read_post ? "Yes\n" :  "No\n";

echo "\n\n@@@@@@@@@@@@@@@\nitem::can_read $item_id: ";
$item = new \Tainacan\Entities\Item( $item_id ); 
$item_can_read = $item->can_read();
echo $item_can_read ? "Yes\n" :  "No\n";

echo "\n\n<-------------\n\n\n";

altere:

  • <ID_DO_USUARIO> para o ID do usuário que está querendo visualizar o item.
  • <ID_DO_ITEM> para o ID do item que deseja visualizar (pode ser encontrado na URL ao editar o item)

esse script deve imprimir dois “yes” caso o usuário tenha permissão ou não para acessar o item.

Não funcionou

Mudando para o caminho certo ele me retorna este erro

Eu tenho esse mesmo problema:
No WordPress.com, todas as imagens de itens ocultos ficam borradas.
Em uma outra instalação que tenho fora, as imagens dos itens ocultos aparecem normalmente.

Não sei se ajuda

você criou um arquivo separado para testar? o erro tá indicando o arquivo “class-tainacan-private-files.php”.

sugiro você criar um arquivo “.php” separado na raiz da instalação e tentar acessar ele.