Je souhaite lancer mon navigateur Web à partir d'un outil d'automatisation que j'utilise et ouvrir la page "Ajouter un post" dans Wordpress dans la zone d'administration avec un titre et un contenu spécifiques (cela varie à chaque fois, je le génère de manière dynamique sur ma machine locale).
Je sais que je peux utiliser http://blog.mysite.com/wp-admin/post-new.php?post_title=sometitle
C'est bon. Toutefois, si j'essaie de définir le contenu de l'article en utilisant le paramètre "contenu" de l'URL, il ne peut s'agir que de texte brut. Si je configure HTML, il est automatiquement échappé. Existe-t-il un moyen de définir le contenu HTML de la publication?
De plus, je ne sais pas comment définir des catégories de pages via les paramètres d'URL?
P.S .: Je ne veux pas créer un nouveau message par programme, mais simplement pour que la page Ajouter un message s'ouvre avec des champs préremplis.
Le problème est que $content
est une variable réservée dans WordPress, vous devez utiliser un autre nom. Ici, j'ai utilisé $pre_content
:
<?php
/**
* Plugin Name: T5 Editor content by request
* Description: Default text for post content from GET variable <code>pre_content</code>.
* Author: Thomas Scholz
* Author URI: http://toscho.de
* Version: 2012.06.30
*/
/*
* See wp-admin/includes/post.php function get_default_post_to_edit()
* There are also the filters 'default_title' and 'default_excerpt'
*/
add_filter( 'default_content', 't5_content_by_request', 10, 2 );
/**
* Fills the default content for post type 'post' if it is not empty.
*
* @param string $content
* @param object $post
* @return string
*/
function t5_content_by_request( $content, $post )
{
if ( ! empty ( $_GET['pre_content'] )
and current_user_can( 'edit_post', $post->ID )
and '' === $content
)
{
return $_GET['pre_content'];
}
return $content;
}