desenvolvimento de plugin de erro get_option

Estou criando um plugin com a seguinte estrutura:

plugins (folder) - myplugin (folder) - myplugin_index.php (adminpanel file) - myplugin_ajax.php (loading data when user enters a form on the "start page") themes (folder) - mytheme (folder) - template_my_own.php (this file have the form which calls the myplugin_ajax.php) 

O plugin funciona bem do ponto de vista do painel de administração. Eu adicionei dados através do plugin do painel de administração.

Mas quando tento acessar dados através do formulário no arquivo template_my_own.php , recebo o seguinte erro:

 PHP Fatal error: Call to undefined function get_option() in /var/www/example.com/wwwroot/wp-content/plugins/myplugin/myplugin_ajax.php on line 14, referer: http://example.com/ 

Experimentei as soluções de ambos os sites .

Nenhum deles funciona. Meu código é assim:

   $from) { if($from  $square) { echo $from; echo '
TESTTESTTEST'; echo $to; } } ?>

Como devo resolver isso e o que estou fazendo de errado?

Solutions Collecting From Web of "desenvolvimento de plugin de erro get_option"

Como o carregamento de plugins funciona

O WordPress tem, como qualquer outro software, uma ordem específica na qual os arquivos são carregados. Durante o carregamento dos arquivos principais do WPs, existem pontos específicos onde você pode se conectar ao do_action() ou alterar os dados durante as chamadas apply_filters() . Essas funções sempre são chamadas com um mínimo de um argumento: o nome. Às vezes, há mais argumentos, que são os retornos de chamada.

O ponto é que você precisa esperar até que alguns ganchos tenham algumas partes da API pública disponíveis.

A regra…

Nunca mais execute o código sem envolvê-lo em uma function ou método (a chamada de retorno mencionada) que você então ganha. Para obter mais informações sobre a ordem em que esses ganchos aparecem, dê uma olhada no Codex e na API Plugin & Referência de Ação .

Você deve conectar sua function ao WordPress AJAX Api.

 function your_ajax_function() { // your Script here } add_action( 'wp_ajax_your_ajax_function', 'your_ajax_function' ); add_action( 'wp_ajax_nopriv_your_ajax_function', 'your_ajax_function' ); // Skip this line if you want the AJAX just for logged in users 

Agora você pode facilmente chamar sua function via Javascript:

 var data = { action: 'your_ajax_function', your_data: 'datatosubmit' }; $.post(ajaxurl, data, function(response) { // what to do with your response }); 

Apenas tenha certeza de que ajaxurl está definido. Normalmente é http://www.yoursite.com/wp-admin/admin-ajax.php , mas isso depende da sua configuração do WordPress.

Se você usar esse método, você tem todas as funções do WordPress disponíveis em sua chamada AJAX.

Você precisa carregar o WordPress. Algo nesta linha:

< ?php include '../../../wp-load.php'; ?>

mas isso não é aconselhável. Eu suponho que você quer fazer algum ajax? Se for esse o caso, faça isso assim: http://ottopress.com/2010/dont-include-wp-load-please/