打开带有通过$_GET设置的参数的WordPress‘Add New Post’管理页面

时间:2012-03-28 作者:riot_starter

我想从我使用的自动化工具启动我的web浏览器,并在管理区域中打开Wordpress“Add Nwe Post”页面,其中包含特定的标题和内容(每次都会有所不同,我会在本地计算机上动态生成)。

我知道我可以http://blog.mysite.com/wp-admin/post-new.php?post_title=sometitle

这很好。但是,如果我尝试使用“content”url参数设置帖子的内容,那么它只能是纯文本。如果我设置HTML,它会自动转义。有没有办法设置帖子的HTML内容?

此外,我也不知道如何通过url参数设置页面类别?

P、 S:我不想以编程方式创建新帖子,只想打开添加帖子页面,并添加预填充的字段。

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

问题是$content 是WordPress中的保留变量,必须使用其他名称。这里,我用过$pre_content:

enter image description here

<?php
/**
 * Plugin Name: T5 Editor content by request
 * Description: Default text for post content from GET variable <code>pre_content</code>.
 * Author:      Fuxia Scholz
 * 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;
}

结束

相关推荐

Update all posts at once

我已经在我的帖子中添加了一个自定义分类法,它将在post\\u update操作中获得iteself的值。一次更新所有帖子的SQL查询是什么,以便为每个帖子添加分类法值。从SQL更新还会调用wordpress的update\\u post操作吗?