我试图修改Wordpress"按此" http://codex.wordpress.org/Press_This以我的主题创建的帖子类型发布。
默认情况下发布此链接http://www.xxxx.com/wp-admin/post-new.php
我希望它打开http://www.xxxx.com/wp-admin/post-new.php?post_type=recipe
在Functions.php中尝试过以下代码但没有任何反应
function press_this_ptype($link) {
$post_type = 'recipe';
$link = str_replace('post-new.php', "post-new.php?post_type=$post_type", $link);
return $link;
}
add_filter('shortcut_link', 'press_this_ptype', 11);
答案 0 :(得分:0)
Studying the file,我认为最好的切入点是函数wp_update_post()
,它有一个我们可以使用的过滤器:
add_action( 'load-press-this.php', function() # Add filter only in Press This
{
add_filter( 'wp_insert_post_data', function( $data, $postarr )
{
$data['post_type'] = 'portfolio'; # <-- adjust CPT
return $data;
}, 10, 2 );
});
之后,我们会注意到需要隐藏“按此屏幕”(发布格式,类别,标签)中的一些内容:
add_action( 'admin_head-press-this.php', function()
{
?>
<style type='text/css'>
#categorydiv, #tagsdiv-post_tag, /* Category and tag meta boxes */
#submitdiv div.inside p:nth-of-type(2) /* Post formats */
{
display:none;
}
</style>
<?php
});