Suporte » Desenvolvendo com WordPress » Carregar um aplicativo que roda em php dentro do wordpress
Carregar um aplicativo que roda em php dentro do wordpress
-
Bom dia a todos. Tenho um site de capinhas personalizadas http://www.onthecase.com.br que foi desenvolvido em php.
Hoje estou tentando migrar a parte de montagem (um aplicativo) que fica neste link http://www.onthecase.com.br/studio para dentro de uma página do wordpress.
O novo domínio, que tem a base do wordpress instalada é http://www.colecoes.onthecase.com.brJá coloquei todos os arquivos do site onthecase.com.br na raiz do servidor http://www.colecoes.onthecase.com.br.
Quando direciono o index para o conteúdo do site sem wordpress funciona tranquilo. Mas carregar este conteúdo dentro do wordpress eu não consigo.
Alguém tem alguma sugestão?
-
Faz o seguinte, vai no painel administrativo do WordPress e cria uma página com o titulo studio. Depois cria um arquivo chamado page-studio.php dentro do seu tema WordPress e coloca um iframe chamando a página do seu aplicativo. Depois é só acessar http://www.colecoes.onthecase.com.br/studio e, se tiver feito tudo certinho, vai resolver.
Leo, obrigado pela sugestão. Ela funcionou em partes… Vamos lá…
Se eu insiro um link externo, funciona beleza. Porém, o que gostaria é de carregar os arquivos que estão no ftp deste mesmo endereço. Mas, ao colocar o conteúdo presente na página php do studio, nenhum conteúdo é carregado. Acredito que está relacionado ao index da página onthecase.com.br
Ele dá um direcionamento, que quando o acesso não vem da raiz, ele não consegue acessar nada…veja o conteúdo da index:
_____________________________________________________________________________________
<?phpif( !( (strpos( $_SERVER[“HTTP_HOST”], ‘www’ )) === false ) ){
$url = ‘http://colecoes.onthecase.com.br/’ . $_SERVER[‘REQUEST_URI’];
header(“Location: {$url}”);
header(“Content-Length: 0”);
exit();
}/*
*—————————————————————
* APPLICATION ENVIRONMENT
*—————————————————————
*
* You can load different configurations depending on your
* current environment. Setting the environment also influences
* things like logging and error reporting.
*
* This can be set to anything, but default usage is:
*
* development
* testing
* production
*
* NOTE: If you change these, also change the error_reporting() code below
*
*/
define(‘ENVIRONMENT’, ‘development’);
/*
*—————————————————————
* ERROR REPORTING
*—————————————————————
*
* Different environments will require different levels of error reporting.
* By default development will show errors but testing and live will hide them.
*/if (defined(‘ENVIRONMENT’))
{
switch (ENVIRONMENT)
{
case ‘development’:
error_reporting(E_ALL);
break;case ‘testing’:
case ‘production’:
error_reporting(0);
break;default:
exit(‘The application environment is not set correctly.’);
}
}/*
*—————————————————————
* SYSTEM FOLDER NAME
*—————————————————————
*
* This variable must contain the name of your “system” folder.
* Include the path if the folder is not in the same directory
* as this file.
*
*/
$system_path = ‘system’;/*
*—————————————————————
* APPLICATION FOLDER NAME
*—————————————————————
*
* If you want this front controller to use a different “application”
* folder then the default one you can set its name here. The folder
* can also be renamed or relocated anywhere on your server. If
* you do, use a full server path. For more info please see the user guide:
* http://codeigniter.com/user_guide/general/managing_apps.html
*
* NO TRAILING SLASH!
*
*/
$application_folder = ‘application’;/*
* ——————————————————————–
* DEFAULT CONTROLLER
* ——————————————————————–
*
* Normally you will set your default controller in the routes.php file.
* You can, however, force a custom routing by hard-coding a
* specific controller class/function here. For most applications, you
* WILL NOT set your routing here, but it’s an option for those
* special instances where you might want to override the standard
* routing in a specific front controller that shares a common CI installation.
*
* IMPORTANT: If you set the routing here, NO OTHER controller will be
* callable. In essence, this preference limits your application to ONE
* specific controller. Leave the function name blank if you need
* to call functions dynamically via the URI.
*
* Un-comment the $routing array below to use this feature
*
*/
// The directory name, relative to the “controllers” folder. Leave blank
// if your controller is not in a sub-folder within the “controllers” folder
// $routing[‘directory’] = ”;// The controller class file name. Example: Mycontroller
// $routing[‘controller’] = ”;// The controller function you wish to be called.
// $routing[‘function’] = ”;/*
* ——————————————————————-
* CUSTOM CONFIG VALUES
* ——————————————————————-
*
* The $assign_to_config array below will be passed dynamically to the
* config class when initialized. This allows you to set custom config
* items or override any default config values found in the config.php file.
* This can be handy as it permits you to share one application between
* multiple front controller files, with each file containing different
* config values.
*
* Un-comment the $assign_to_config array below to use this feature
*
*/
// $assign_to_config[‘name_of_config_item’] = ‘value of config item’;// ——————————————————————–
// END OF USER CONFIGURABLE SETTINGS. DO NOT EDIT BELOW THIS LINE
// ——————————————————————–/*
* —————————————————————
* Resolve the system path for increased reliability
* —————————————————————
*/// Set the current directory correctly for CLI requests
if (defined(‘STDIN’))
{
chdir(dirname(__FILE__));
}if (realpath($system_path) !== FALSE)
{
$system_path = realpath($system_path).’/’;
}// ensure there’s a trailing slash
$system_path = rtrim($system_path, ‘/’).’/’;// Is the system path correct?
if ( ! is_dir($system_path))
{
exit(“Your system folder path does not appear to be set correctly. Please open the following file and correct this: “.pathinfo(__FILE__, PATHINFO_BASENAME));
}/*
* ——————————————————————-
* Now that we know the path, set the main path constants
* ——————————————————————-
*/
// The name of THIS file
define(‘SELF’, pathinfo(__FILE__, PATHINFO_BASENAME));// The PHP file extension
// this global constant is deprecated.
define(‘EXT’, ‘.php’);// Path to the system folder
define(‘BASEPATH’, str_replace(“\\”, “/”, $system_path));// Path to the front controller (this file)
define(‘FCPATH’, str_replace(SELF, ”, __FILE__));// Name of the “system folder”
define(‘SYSDIR’, trim(strrchr(trim(BASEPATH, ‘/’), ‘/’), ‘/’));// The path to the “application” folder
if (is_dir($application_folder))
{
define(‘APPPATH’, $application_folder.’/’);
}
else
{
if ( ! is_dir(BASEPATH.$application_folder.’/’))
{
exit(“Your application folder path does not appear to be set correctly. Please open the following file and correct this: “.SELF);
}define(‘APPPATH’, BASEPATH.$application_folder.’/’);
}/*
* ——————————————————————–
* LOAD THE BOOTSTRAP FILE
* ——————————————————————–
*
* And away we go…
*
*/
require_once BASEPATH.’core/CodeIgniter.php’;/* End of file index.php */
/* Location: ./index.php */___________________________________________________________________________________
Para mim, a explicação só pode estar aí… porque quando coloco esta index na raiz ela oculta o wordpress e mostra o site corretamente…
Obrigado pela disponibilidade em ajudar com esta dúvida.
Em primeiro lugar, use o pastbin para código ou pelo menos o acento grave, da forma como postou fica bem complicado a leitura.
Pergunta, quando você seguiu os passos que falei acima o que deu errado? Tipo, você criou a página no WordPress e criou o arquivo com o código iframe chamando a URL do aplicativo? Se sim, o que aconteceu quando você acessou o endereço dessa página? Você pode compartilhar o link comigo, porque está bem complicado entender o que você está falando, veja abaixo o quanto você me deixou confuso:
Se eu insiro um link externo, funciona beleza
Como assim funciona? Um link é tão simples que não tem nem o que funcionar, então não compreendo o que você quer dizer com “funciona beleza”, quer dizer que ao clicar o usuário é levado para a página correta?
Porém, o que gostaria é de carregar os arquivos que estão no ftp deste mesmo endereço
Gostaria de carregar significa, gostaria de abrir? Se os arquivos estão no servidor então para acessar é só digitar a URL correta. Por exemplo, se seu dominio é http://www.meusite.com e os arquivos estão dentro de uma pasta chamada “arquivos” na raiz do servidor para acessa-los é só digitar o endereço http://www.meusite.com/arquivos/nomedoarquivo.html
Leo, boa noite. Desculpe a forma como apresentei os fatos. Vou tentar ser mais claro.
Hoje o site onthecase.com.br está funcionando normalmente (e não utiliza wordpress)Tenho também um subdomínio http://www.colecoes.onthecase.com.br (que foi construído em wordpress)
A minha necessidade é utilizar o aplicativo que roda no link http://www.onthecase.com.br/studio no subdomínio http://www.colecoes.onthecase.com.br
Sendo assim, preciso inserir o conteúdo do link http://www.onthecase.com.br/studio em uma página de wordpress que já estou trabalhando no domínio http://www.colecoes.onthecase.com.br
A primeira coisa que fiz foi copiar todos os arquivos via ftp que estavam na onthecase.com.br e replicá-los na raiz do servidor http://www.colecoes.onthecase.com.br
Assim, temos dois sites que estão no servidor “Coleções”. Se eu utilizo o arquivo index.php da onthecase, o conteúdo do site onthecase.com.br carrega sem erros no dominio http://www.colecoes.onthecase.com.br. Se eu utilizo o arquivo index.php do wordpress, o site construído em wordpress é exibido sem erros no domínio http://www.colecoes.onthecase.com.br
O objetivo agora, seria manter o wordpress, mas usando o studio de montagem de capinhas personalizadas em uma página do wordpress.
O primeiro raciocínio depois da sua instrução foi pegar o código completo do arquivo studio.php (este arquvio é o que carrega o conteúdo da página que gostaríamos de exibir no wordpress) e colocá-lo dentro do iframe. Porém, nenhum conteúdo é exibido. Abaixo, vou postar o código que fica dentro do arquivo studio.php. Colocarei entre o acento grave, e espero que facilite a visualização. Vou deixar o mesmo código dentro do Iframe no endereço http://www.colecoes.onthecase.com.br/studio, assim caso queira inspecionar o elemento verá que não está carregando conteúdo algum.
Obrigado pela paciência e disponibilidade.
<?php $meta = ''; if(preg_match('@(ipad)@i', $_SERVER['HTTP_USER_AGENT'])){ $meta = '<meta name="viewport" content="width=device-width, user-scalable=0, initial-scale=0.9">'; } ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Capa de celular personalizada. Faça já a sua!</title> <meta name="description" content="Faça já a sua capa de celular personalizada com as fotos do Facebook, Instagram ou computador! Monte agora e visualize como irá ficar."> <meta name="keywords" lang="pt-br" content="capa, capinha para celular, iphone, case com fotos, capinha, cases personalizadas, personalizada, onthecase, capa celular com foto, impressao lateral"> <?php echo $meta; ?> <script> window.fbAsyncInit = function() { FB.init({ appId : '<?php echo FACEBOOK_APP_ID; ?>', channelUrl : '<?php echo site_url('studio/channel')?>', status : true, xfbml : true }); }; var baseUrl = '<?php echo base_url(); ?>'; var INSTAGRAM_CLIENT_ID = '<?php echo INSTAGRAM_CLIENT_ID; ?>'; var INSTAGRAM_CALLBACK = '<?php echo site_url('studio/handle_instagram'); ?>'; // Load the SDK asynchronously (function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script> <link href="<?php echo base_url('assets/studio/css/jquery.mCustomScrollbar.css'); ?>" rel="stylesheet"> <link href="<?php echo base_url('assets/studio/css/app-studio.css'); ?>" rel="stylesheet"> <script src="<?php echo base_url('assets/studio/js/jquery.min.js'); ?>"></script> <script src="<?php echo base_url('assets/studio/js/jquery-ui.min.js'); ?>"></script> <script src="<?php echo base_url('assets/studio/js/jquery.ui.touch-punch.min.js'); ?>"></script> <script src="<?php echo base_url('assets/studio/js/jquery.form.min.js'); ?>"></script> <script src="<?php echo base_url('assets/studio/js/jquery.mousewheel.min.js'); ?>"></script> <script src="<?php echo base_url('assets/studio/js/jquery.mCustomScrollbar.min.js'); ?>"></script> <script src="<?php echo base_url('assets/studio/js/app.js'); ?>"></script> <script src="<?php echo base_url('assets/studio/js/facebook.js'); ?>"></script> <script src="<?php echo base_url('assets/studio/js/instagram.js'); ?>"></script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-44638659-1', 'onthecase.com.br'); ga('send', 'pageview'); </script> <!--Start of Zopim Live Chat Script--> <script type="text/javascript"> window.$zopim||(function(d,s){var z=$zopim=function(c){z._.push(c)},$=z.s= d.createElement(s),e=d.getElementsByTagName(s)[0];z.set=function(o){z.set. _.push(o)};z._=[];z.set._=[];$.async=!0;$.setAttribute('charset','utf-8'); $.src='//v2.zopim.com/?1je2hS3GD04KlDULjiIU6fqRn62DoPn7';z.t=+new Date;$. type='text/javascript';e.parentNode.insertBefore($,e)})(document,'script'); </script> <!--End of Zopim Live Chat Script--> </head> <body> <div class="header-compl"> <div class="esq"></div> <div class="dir"></div> </div> <div class="footer-compl"></div> <div class="app-studio"> <div class="wrap"> <div class="container"> <div id="topo"> <a href="<?php echo site_url(); ?>" title="On The Case" class="logo"></a> <div class="menu-topo <?php echo !empty($in_admin) ? 'admin' : ''; ?>"> <?php if(empty($in_admin)): ?> <ul> <li><a href="<?php echo site_url('studio'); ?>">Monte o seu</a></li> <li><a href="<?php echo site_url('produtos'); ?>">Nossas capinhas</a></li> <li><a href="http://www.colecoes.onthecase.com.br">Coleções</a></li> <li><a href="<?php echo site_url('informacoes'); ?>">Saiba mais</a></li> <li><a href="<?php echo site_url('contato'); ?>">Contato</a></li> <?php if(empty($cliente)): ?> <li class="login"><a href="<?php echo site_url('clientes'); ?>">Login/Cadastro</a></li> <?php else: ?> <li class="login"><a href="<?php echo site_url('clientes/dashboard'); ?>">Minha Área</a></li> <?php endif; ?> <li class="carrinho"><a href="<?php echo site_url('carrinho'); ?>"><img src="<?php echo img('img_carrinho.png');?>" title="Carrinho" alt="Carrinho"></a></li> </ul> <?php else: ?> <?php if(!empty($_usuario)): ?> <ul> <li><a href="<?php echo admin_url('dashboard'); ?>">Dashboard</a></li> <li><a href="<?php echo admin_url('clientes'); ?>">Clientes</a></li> <li><a href="<?php echo admin_url('pedidos'); ?>">Pedidos</a></li> <li><a href="<?php echo admin_url('internas'); ?>">Páginas Internas</a></li> <li><a href="<?php echo admin_url('informacoes'); ?>">Saiba Mais</a></li> <li><a href="<?php echo admin_url('usuarios'); ?>">Usuários</a></li> <li><a href="<?php echo admin_url('login/logout'); ?>">Sair</a></li> </ul> <?php endif; ?> <?php endif; ?> </div> </div> <div class="page-container"> <div class="page home show"> <a href="#" class="splash-celular"><img title="Clique para começar!" alt="Clique para começar!" src="<?php echo base_url('assets/studio/img/splash-celular.png'); ?>"></a> <div class="splash-precos"></div> <div class="splash-descricao"> Case personalizada.<br> Seu celular é fino,<br> mas nem por isso <br> precisa ser chato. </div> <div class="splash-red"></div> <div class="splash-purple"></div> </div> <div class="page escolha"> <div class="splash-red"></div> <div class="splash-purple"></div> <!-- <div class="splash-precos"></div> --> <div class="container"> <!-- <a class="fotoquadro item-modelo" data-tipo="fotoquadro" href="#"></a> <a class="ima item-modelo" data-tipo="ima" href="#"></a> --> <a class="capinha-celular item-modelo" data-tipo="capinha" href="#"></a> </div> </div> <div class="page adapte"> <div class="frete-calculo"> <a id="ps_freight_simulator" href="https://pagseguro.uol.com.br/desenvolvedor/simulador_de_frete.jhtml?CepOrigem=30170001&Peso=0.300&Valor=59,90" target="_blank"><img id="imgCalculoFrete" src="http://onthecase.com.br/assets/studio/img/frete_quanto_custa.png" alt="Calcule seu frete aqui:" border="0" /></a> <script src="https://p.simg.uol.com.br/out/pagseguro/j/simulador_de_frete.js"; content-type="text/html"; charset=UTF-8;></script> </div> <div class="informacao-adapte"><span><span>Escolha o modelo do seu celular <em></em></span></span></div> <div class="seta-adapte"></div> <div class="vertical-center modelos"><div class="container"></div></div> </div> <div class="page crie"> <div class="splash-red"></div> <div class="splash-purple"></div> <div class="vertical-center modelo-escolhido-container"> <div class="modelo-escolhido"></div> </div> <div class="informacao"><span><span>Escolha a disposição das imagens</span></span></div> <div class="container"> <div class="vertical-center grids"></div> </div> </div> <div class="page personalize"> <div class="splash-red"></div> <div class="splash-purple"></div> <div class="lateral"><span><span><em>A imagem deve se estender até a linha pontilhada para cobrir totalmente as laterais da sua capinha. </em></span></span></div> <a href="#" class="gerar-imagem-final" title="Finalizar pedido">Finalizar pedido</a> <form class="buttons" method="post" action="<?php echo site_url('studio/upload_image')?>"> <div class="btn facebook" title="Fotos do Facebook!"></div> <div class="btn instagram"></div> <div class="btn computador"> <input type="file" name="arquivos[]" accept="image/*" multiple="multiple"> </div> </form> <div class="editor"></div> <div class="thumbs"> <div class="container"></div> </div> </div> <div class="page progresso"> <div class="vertical-center"> <div>Por favor, aguarde enquando processamos suas imagens.</div> </div> </div> <div class="page pronto"> <div class="splash-red"></div> <div class="splash-purple"></div> <div class="preview vertical-center"></div> <form class="form" method="post" action="<?php echo site_url('studio/adicionar_item'); ?>"> <p class="info">Produto criado! Escolha abaixo a opção desejada para continuar:</p> <input type="hidden" id="codproduto" name="codproduto" value=""> <input type="hidden" id="idproduto" name="idproduto" value=""> <input type="hidden" id="nomeproduto" name="nomeproduto" value=""> <input type="hidden" id="descricao" name="descricao" value=""> <p class="buttons"> <button class="btn-finalizar carrinho" type="button">Finalizar e ir ao Carrinho</button> <button class="btn-finalizar criar-outro" type="button">Finalizar e criar outro</button> </p> </form> </div> <div class="page finalizado"> <div class="splash-red"></div> <div class="splash-purple"></div> <div class="msg vertical-center"> Pedido finalizado com sucesso! </div> </div> </div> <footer> <ul> <li><a class="passo-1" href="#escolha"><i>1</i><strong>ESCOLHA!</strong> <span>Qual o produto que você quer?</span></a></li> <li><a class="passo-2" href="#adapte"><i>2</i><strong>ADAPTE!</strong><span>Defina o modelo</span></a></li> <li><a class="passo-3" href="#crie"><i>3</i><strong>CRIE!</strong><span>Escolha a sua disposição preferida</span></a></li> <li><a class="passo-4" href="#personalize"><i>4</i><strong>PERSONALIZE!</strong><span>Insira fotos de redes sociais ou computador</span></a></li> <li><a class="passo-5" href="#pronto"><i>5</i><strong>Pronto!</strong><span>Feche seu pedido</span></a></li> </ul> </footer> </div> <script type="text/javascript"> adroll_adv_id = "CDH4CKQ3PREBHKLJFDD3RY"; adroll_pix_id = "ILNF5ZRXTFBBXKXBHXBUBY"; (function () { var oldonload = window.onload; window.onload = function(){ __adroll_loaded=true; var scr = document.createElement("script"); var host = (("https:" == document.location.protocol) ? "https://s.adroll.com" : "http://a.adroll.com"); scr.setAttribute('async', 'true'); scr.type = "text/javascript"; scr.src = host + "/j/roundtrip.js"; ((document.getElementsByTagName('head') || [null])[0] || document.getElementsByTagName('script')[0].parentNode).appendChild(scr); if(oldonload){oldonload()}}; }()); </script> <!-- Código do Google para tag de remarketing --> <!-------------------------------------------------- As tags de remarketing não podem ser associadas a informações pessoais de identificação nem inseridas em páginas relacionadas a categorias de confidencialidade. Veja mais informações e instruções sobre como configurar a tag em: http://google.com/ads/remarketingsetup ---------------------------------------------------> <script type="text/javascript"> /* <![CDATA[ */ var google_conversion_id = 989210272; var google_custom_params = window.google_tag_params; var google_remarketing_only = true; /* ]]> */ </script> <script type="text/javascript" src="//www.googleadservices.com/pagead/conversion.js"> </script> <noscript> <div style="display:inline;"> <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/989210272/?value=0&guid=ON&script=0"/> </div> </noscript> </body> </html>
Eu entendi o que você quer fazer e a solução é o iframe, não deu certo porque acho que você não manja muito de HTML e errou no carregamento do iframe.
Faça o seguinte:
1 – entre no painel administrativo do site que tem o WordPress e crie uma página com o titulo Studio.
2 – Crie um arquivo chamado page-studio.php na raiz da pasta do seu tema e cole o conteúdo abaixo:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body style="margin:0px;padding:0px;overflow:hidden"> <iframe src="http://onthecase.com.br/studio" frameborder="0" style="overflow:hidden;overflow-x:hidden;overflow-y:hidden;height:100%;width:100%;position:absolute;top:0px;left:0px;right:0px;bottom:0px" height="100%" width="100%"></iframe> </body> </html>
Salve e suba o arquivo, depois acesse e se não estiver como você queria volte aqui, compartilhe o link e diga o que não ficou conforme o esperado.
Leo, funcionou sim. Você pode conferir no link: http://www.colecoes.onthecase.com.br
Só que isto não resolve, vou te dizer porque:
ele está lendo do endereço http://www.onthecase.com.br
Porém quero migrar o conteúdo pois no site da onthecase.com.br, o conteúdo do studio não ficará mais disponível.
Por isso eu coloquei uma copia de todos os arquivos dentro do ftp colecoes.Toda esta alteração se faz necessária, porque minha intenção é acabar com o site da onthecase.com.br, e aproveitar o studio, itegrando depois a compra no carrinho de compras do woocommerce.
Então você vai criar uma pasta na raiz do dominio http://www.colecoes.onthecase.com.br chamada meu-aplicativo e colocar o conteúdo do onthecase lá dentro. Então no código que te passei você vai alterar a URL que está em src para http://www.colecoes.onthecase.com.br/meu-aplicativo
Acho que comecei a entender o que você disse sobre o WordPress redirecionar… Tenta o que falei e vamos ver no que dá.
Léo, carregou! mas repare que abriu na página incial. Quando clica no link “Monte o seu” que chama o studio, dá erro. Ao deveria chamar o link http://colecoes.onthecase.com.br/meu-aplicativo/studio,
mas fica no link http://colecoes.onthecase.com.br/studioEstá redirecionando automaticamente
Um outro detalhe é que quando digitado o endereço, ele chama primeiro com duas “barras” conforme abaixo:
http://colecoes.onthecase.com.br//meu-aplicativo/Cara, tente entender o que estou explicando antes de meter a mão na massa.
Você ainda tem a página “studio” criada no WordPress? Ainda tem o arquivo page-studio.php na raiz do seu tema WordPress? Se respondeu não para uma das perguntas leia meu tópico novamente e refaça tudo, depois volte aqui e siga os passos abaixo: http://br.forums.wordpress.org/topic/carregar-um-aplicativo-que-roda-em-php-dentro-do-wordpress?replies=10#post-62920
1 – Edite o arquivo page-studio.php e onde tem a URL: http://onthecase.com.br/studio você vai apagar e colocar a URL: http://colecoes.onthecase.com.br/meu-aplicativo/
2 – Salve o arquivo e faça upload para o servidor (tem que ficar na raiz do tema WordPress).
3 – O link que tem no topo do seu site, “monte o seu”, deve apontar para http://colecoes.onthecase.com.br/studio e não para http://colecoes.onthecase.com.br/meu-aplicativo/
Feito isso vai funcionar, mas leia 15 vezes aqui antes de começar a fazer algo e siga todos os passos ao pé da letra.
Leo, fiz exatamente o que você disse. E não está rolando.
Só consegui fazer funcionar assim:1 – No arquivo page studio.php o link é: http://www.colecoes.onthecase.com.br/meu-aplicativo
2- Está na raiz do tema
3- O link que está no menu é chamado no seguinte código:
<li><a href="<?php echo site_url('studio'); ?>">Monte o seu</a></li>
Observe que clicando no link “Saiba mais”, ele chama o wordpress novamente.O que persiste é um erro de direcionamento, apesar da index já estar sendo lida.
O que reparei é que o site da onthecas.com.br não usa o (www.) enquanto o site coleções usa. Será que pode ser isso?
Veja o código da Index, que invalida o uso do www.
<?php if( !( (strpos( $_SERVER["HTTP_HOST"], 'www' )) === false ) ){ $url = 'http://colecoes.onthecase.com.br' . $_SERVER['REQUEST_URI']; header("Location: {$url}"); header("Content-Length: 0"); exit(); } /* *--------------------------------------------------------------- * APPLICATION ENVIRONMENT *--------------------------------------------------------------- * * You can load different configurations depending on your * current environment. Setting the environment also influences * things like logging and error reporting. * * This can be set to anything, but default usage is: * * development * testing * production * * NOTE: If you change these, also change the error_reporting() code below * */ define('ENVIRONMENT', 'development'); /* *--------------------------------------------------------------- * ERROR REPORTING *--------------------------------------------------------------- * * Different environments will require different levels of error reporting. * By default development will show errors but testing and live will hide them. */ if (defined('ENVIRONMENT')) { switch (ENVIRONMENT) { case 'development': error_reporting(E_ALL); break; case 'testing': case 'production': error_reporting(0); break; default: exit('The application environment is not set correctly.'); } } /* *--------------------------------------------------------------- * SYSTEM FOLDER NAME *--------------------------------------------------------------- * * This variable must contain the name of your "system" folder. * Include the path if the folder is not in the same directory * as this file. * */ $system_path = 'system'; /* *--------------------------------------------------------------- * APPLICATION FOLDER NAME *--------------------------------------------------------------- * * If you want this front controller to use a different "application" * folder then the default one you can set its name here. The folder * can also be renamed or relocated anywhere on your server. If * you do, use a full server path. For more info please see the user guide: * http://codeigniter.com/user_guide/general/managing_apps.html * * NO TRAILING SLASH! * */ $application_folder = 'application'; /* * -------------------------------------------------------------------- * DEFAULT CONTROLLER * -------------------------------------------------------------------- * * Normally you will set your default controller in the routes.php file. * You can, however, force a custom routing by hard-coding a * specific controller class/function here. For most applications, you * WILL NOT set your routing here, but it's an option for those * special instances where you might want to override the standard * routing in a specific front controller that shares a common CI installation. * * IMPORTANT: If you set the routing here, NO OTHER controller will be * callable. In essence, this preference limits your application to ONE * specific controller. Leave the function name blank if you need * to call functions dynamically via the URI. * * Un-comment the $routing array below to use this feature * */ // The directory name, relative to the "controllers" folder. Leave blank // if your controller is not in a sub-folder within the "controllers" folder // $routing['directory'] = ''; // The controller class file name. Example: Mycontroller // $routing['controller'] = ''; // The controller function you wish to be called. // $routing['function'] = ''; /* * ------------------------------------------------------------------- * CUSTOM CONFIG VALUES * ------------------------------------------------------------------- * * The $assign_to_config array below will be passed dynamically to the * config class when initialized. This allows you to set custom config * items or override any default config values found in the config.php file. * This can be handy as it permits you to share one application between * multiple front controller files, with each file containing different * config values. * * Un-comment the $assign_to_config array below to use this feature * */ // $assign_to_config['name_of_config_item'] = 'value of config item'; // -------------------------------------------------------------------- // END OF USER CONFIGURABLE SETTINGS. DO NOT EDIT BELOW THIS LINE // -------------------------------------------------------------------- /* * --------------------------------------------------------------- * Resolve the system path for increased reliability * --------------------------------------------------------------- */ // Set the current directory correctly for CLI requests if (defined('STDIN')) { chdir(dirname(__FILE__)); } if (realpath($system_path) !== FALSE) { $system_path = realpath($system_path).'/'; } // ensure there's a trailing slash $system_path = rtrim($system_path, '/').'/'; // Is the system path correct? if ( ! is_dir($system_path)) { exit("Your system folder path does not appear to be set correctly. Please open the following file and correct this: ".pathinfo(__FILE__, PATHINFO_BASENAME)); } /* * ------------------------------------------------------------------- * Now that we know the path, set the main path constants * ------------------------------------------------------------------- */ // The name of THIS file define('SELF', pathinfo(__FILE__, PATHINFO_BASENAME)); // The PHP file extension // this global constant is deprecated. define('EXT', '.php'); // Path to the system folder define('BASEPATH', str_replace("\\", "/", $system_path)); // Path to the front controller (this file) define('FCPATH', str_replace(SELF, '', __FILE__)); // Name of the "system folder" define('SYSDIR', trim(strrchr(trim(BASEPATH, '/'), '/'), '/')); // The path to the "application" folder if (is_dir($application_folder)) { define('APPPATH', $application_folder.'/'); } else { if ( ! is_dir(BASEPATH.$application_folder.'/')) { exit("Your application folder path does not appear to be set correctly. Please open the following file and correct this: ".SELF); } define('APPPATH', BASEPATH.$application_folder.'/'); } /* * -------------------------------------------------------------------- * LOAD THE BOOTSTRAP FILE * -------------------------------------------------------------------- * * And away we go... * */ require_once BASEPATH.'core/CodeIgniter.php'; /* End of file index.php */ /* Location: ./index.php */
Você não fez exatamente o que mandei, por isso pedi para ler 15 vezes. Eu falei para criar um arquivo chamado page-studio.php, repito PAGE-studio.php (ignore o caps do page, é só pra chamar sua atenção) e não apenas studio.php.
Renomeia o arquivo studio.php para page-studio.php, então quando acessar a URL /studio o WordPress vai carregar o conteúdo do arquivo page-studio.php e este chama o conteúdo de /meu-aplicativo no iframe.
Desculpa se eu parecer grosso ou impaciente em algum momento é meu jeito.
P.S. – Você está conseguindo entender o que está sendo feito? Vou tentar explicar mais ou menos…
A tag HTML <iframe> permite que você carregue o conteúdo de outro endereço em uma página, então nós estamos colocando o seu aplicativo em um diretório separado do WordPress e no WordPress estamos criando uma página que vai chamar esse aplicativo via iframe. Seria possível e talvez até mais correto colocar o aplicativo dentro do WordPress ao invés de apenas carrega-lo via iframe, mas sinceramente acho que você precisaria estudar um pouco o funcionamento do WordPress e desenvolvimento web (html + css + js e um pouco de PHP) primeiro e talvez não tenha tempo para isso.
Mas tente pelo menos entender o que está sendo feito, ao invés de apenas tentar copiar as sugestões que receber no fórum, porque entendendo o que te explicaram você consegue aprender mais a cada dúvida.
Leo, obrigado pelas sugestões. Eu entendi sim o que está sendo feito. desde o começo o arquivo é page-studio.php
Eu realmente não sou um expert em desenvolvimento. O site onthecase.com.br foi desenvolvido por programadores pra mim.
Porém eu gostaria de integra-lo ao site coleções.onthecase.com.br que eu mesmo criei.A ideia seria realmente colocar o aplicativo dentro do wordpress e não atravé do Iframe.
Vou te explicar o motivo.
Percisei de contratar dois profissionais para desenvolver o site da onthecase.com.br porque eu não tinha experiência suficiente para desenvolver. Este site trabalha apenas com capinhas personalizadas.
Após alguns meses, resolvi lançar a venda de capinhas prontas também, conhecidas como coleções. Preferi implementar através do wordpress pois no meu site já tinha problemas com o cupom de desconto e preferi trabalhar uma plataforma como o woocommerce. Porém, o primeiro problema surgiu: Desta forma eu tenho dois bancos de dados, e o cliente que compra em um não está cadastrado no outro. Assim, eu gostaria de agrupar os dois sites em um conteúdo de WordPress. Eu precisaria também de que quando o cliente criasse a capinha personalizada com as fotos dele, o pedido fosse adicionado ao carrinho do wordpress. Minha intenção quando o endereço: http://www.colecoes.onthecase.com.br estiver funcionando por completo e colocá-lo diretamente no endereço que já é conhecido: onthecase.com.br e acabar com este subdomínio.O que você acha de uma proposta sua para realizar esta implementação pra mim? Não gostaria de abusar da sua boa vontade e desde já agradeço a sua disponibilidade. Qualquer coisa, me passa no email: contato@onthecase.com.br
Augusto, não me sinto confortavel em aceitar propostas aqui pelo fórum, afinal estou aqui para contribuir com a comunidade e não conseguir clientes. Fora isto, estou passando por uns problemas de saúde atualmente e estou evitando pegar jobs a noite, preciso diminuir a carga. Fico grato pela oferta e indico o http://www.oportunidades.wp-brasil.org, cadastra lá e tenho certeza que vai aparecer alguém querendo ajudar.
- O tópico ‘Carregar um aplicativo que roda em php dentro do wordpress’ está fechado para novas respostas.