Como usar o caminho relativo com minhas pastas de plugins?

Oi, tentei escolher todas as imagens em uma pasta, de modo que o que as imagens que o usuário coloque em uma pasta específica dentro do meu plugin que eu possa usar e usar no plugin.

Tentei as seguintes funções php para escolher imagens ou arquivos na pasta

glob scandir 

Quando eu tento o que está acima no framework wordpress, estou recebendo erro. The system cannot find the file specified. Quando eu tento no meu servidor local diferente da área de wordpress, ele está escolhendo arquivos na pasta especificada.

  

método de varredura

  

O trabalho acima funciona bem fora do WordPress Framework

A mesma coisa que eu tentei no WordPress para o meu plugin na minha pasta de plugins e não consigo realizar a tarefa. Isso não está funcionando.

Tentativa 1

  

Não recebi nada sem erro, sem aviso e sem saída.

Tentativa 2

  

Recebi Advertência Warning: scandir(../images/,../images/): The system cannot find the file specified. (code: 2) Warning: scandir(../images/,../images/): The system cannot find the file specified. (code: 2)

  Warning: scandir(../images/): failed to open dir: No such file or directory 

O arquivo está tentando isso em uma pasta diferente, mas no mesmo diretório.

Por exemplo

  • O arquivo Php com este código está na pasta inc/settings.php

  • As imagens estão procurando na pasta de images

  • Ambas as pastas estão dentro da minha pasta de plugins

      - myplugin myplugin.php /images /inc /documentaion 

Agora, como obter todos os nomes de imagens na minha pasta de imagens?

NOTA: Eu uso para include meu outro arquivo php no meu arquivo principal, como include('inc/settings.php');

Essas coisas funcionam bem, portanto, provavelmente não há nenhum problema na especificação do caminho, pode ser o problema no uso da function scandir ou glob . Não consigo adivinhar. Pode alguém me ajudar?

Quando eu simplesmente uso o abaixo

 foreach(glob('images/*.png') as $filename){ echo $filename; } ?> 

Estou recebendo imagens da pasta wp-admin/images alguma idéia?

Solutions Collecting From Web of "Como usar o caminho relativo com minhas pastas de plugins?"

Esta resposta refere-se à primeira versão da pergunta, e não sei como atualizá-la, deixarei aqui como referência geral.

Não use uma pasta de plugin (ou um tema) para isso. Talvez o seu plugin não tenha um recurso Upgrade e nada será substituído. Mas a melhor prática é usar uma pasta em /wp-content root ou dentro /wp-content/uploads .

In /wp-content/my-images :

 $test = glob( WP_CONTENT_DIR . '/my-images/*.png'); 

Em /wp-content/uploads/my-images :

 $up_dir = wp_upload_dir(); $test = glob( $up_dir['basedir'] . '/images/*.png'); 

scandir e glob estão relacionados a coisas de diretório, então tentou com WP_PLUGIN_DIR vez de plugins_url() que retornam url, mas não diretório.

Abaixo, ambas as funções são úteis

WP_PLUGIN_DIR

 plugin_dir_path( __FILE__ ) 

Eu tentei as funções acima funcionou bem para mim.

Lembre-se se você apenas usa

 < ?php foreach (glob('images/*.png') as $filename) { echo $filename; } ?> 

wp-admin/images imagens de wp-admin/images que podem ser diretório raiz. Não tenho a certeza.

Comente se você acha que algo está errado aqui 🙂