wp_editor no front end - JavaScripts não incluídos

4

Estou trabalhando em um plug-in BuddyPress para um cliente que exige que os usuários adicionem conteúdo do front end - eles nunca veem o back-end por motivos de segurança. Eu tenho o plug-in escrito e funciona perfeitamente, mas falta uma coisa: um editor de texto rico para que os usuários possam personalizar seu conteúdo (dentro da razão, é claro). Até agora, ignorei este pedido do cliente e expliquei que não seria possível sem muito mais trabalho.

Hoje, porém, fiz o upgrade para 3.3 e observei a nova tag wp_editor . Eu tentei alguns dos exemplos mostrados aqui , mas não consigo que nenhum deles funcione corretamente (uma chamada bare-bones produz o editor, mas as guias e os botões de mídia não funcionam, uma matriz de configuração básica do TinyMCE não gera nada [apenas uma área de texto simples].) Com as Ferramentas de desenvolvedor do Chrome, alguns arquivos JavaScript estão sendo incluídos na área de administração que não estão incluídos no front end. Qual é a melhor maneira de incluir esses arquivos e fazer essa coisa funcionar? Obrigado!

    
por Joseph Leedy 15.12.2011 / 16:39

4 respostas

2

observe que wp_editor irá echo para a saída, não colocando-a em uma variável. Se você quiser colocá-lo em uma variável, basta fazer

ob_start();
wp_editor($content, 'textarea_rich', $args);
$html = ob_get_contents();
ob_end_clean();

e você tem o que precisa em $html . Você também pode ver enlace para uma implementação em funcionamento.

Outra questão que notei é que algum problema é com o w3-total do cache minifying (na verdade, eu tive esse problema com wp_tiny_mce , a função usada no wp < = 3.2; eu não verifiquei se ele está com bugs em wp_editor também)

    
por boyska 07.02.2012 / 00:23
0

O código a seguir deve funcionar para você. Apenas certifique-se de que textarea id seja minúscula e alfanumérica.

$post = get_post( $post_id, 'OBJECT' );
$args = array(
    'wpautop' => true,
    'media_buttons' => true,
    'editor_class' => 'frontend',
    'textarea_rows' => 5,
    'tabindex' => 1
);                      
wp_editor( esc_html( $post->post_content ), 'textareaid2', $args );

Você pode ler a documentação da função wp_editor em esta página do Codex .

    
por byjml 21.12.2011 / 08:24
0

adicione isso ao rodapé do seu tema logo antes da tag de fechamento do corpo:

<?php wp_footer(); ?>

todos os scripts de editor para wp_editor são gerados no rodapé e, se o seu tema não tiver essa tag, que chama do_action('wp_footer'); , o editor não funcionará.

    
por dwenaus 09.01.2012 / 17:35
0

Não sei se você ainda está trabalhando nisso, mas pode experimentar o plug-in "WP User Frontend". Faz exatamente o que você quer.

    
por Amal 19.12.2012 / 20:06