修改Wordpress"按此"到另一个帖子类型?

时间:2014-05-15 09:55:26

标签: php wordpress

我试图修改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);

1 个答案:

答案 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
});