為WordPress新文章預選分類

假如你的WordPress網站開放註冊和投稿,用戶在後臺發佈文章時,需要手動選擇文章分類。有沒有辦法為新文章自動預選分類?答案是肯定的。

假設你的網站有 WP主題、WP外掛、WP教程 三個分類,我們可以在WordPress後臺左邊菜單中添加快捷菜單,比如“添加新WP主題”,用戶點擊以後,直接自動就選擇“WP主題”這個分類。一起來看看實現方法吧。

1.將下面的代碼添加到主題的 functions.php 文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//預選文章分類
function ws_preselect_post_category() {
    if ( isset($_GET['category_id']) && is_numeric($_GET['category_id']) ) {
        $catId = intval($_GET['category_id']);
        ?>
        <script type="text/javascript">
            jQuery(function() {
                var catId = <?php echo json_encode($catId); ?>;
                jQuery('#in-category-' + catId).click();
            });
        </script>
        <?php
    }
}
add_action('admin_footer-post-new.php', 'ws_preselect_post_category');

//預選文章分類
function ws_preselect_post_category() {
if ( isset($_GET[‘category_id’]) && is_numeric($_GET[‘category_id’]) ) {
$catId = intval($_GET[‘category_id’]);
?>
<script type="text/javascript">
jQuery(function() {
var catId = <?php echo json_encode($catId); ?>;
jQuery(‘#in-category-‘ + catId).click();
});
</script>
<?php
}
}
add_action(‘admin_footer-post-new.php’, ‘ws_preselect_post_category’);

然後你就可以在 /wp-admin/post-new.php 這個“寫文章”的地址後面添加參數 ?category_id=15 就可以實現預選分類。比如 訪問 http://yoursite.com/wp-admin/post-new.php?category_id=15 默認就選中 ID 為 15 的分類。

2.新建一個後臺快捷菜單,依舊在主題的 functions.php 添加:

1
2
3
4
5
6
7
8
9
10
//“添加新WP主題”快捷菜單
function ws_add_new_post_link() {
    add_posts_page(
        '添加新WP主題',
        '添加新WP主題',
        'edit_posts',
        'post-new.php?category_id=15'  // 15 為分類ID
    );
}
add_action('admin_menu', 'ws_add_new_post_link');

//“添加新WP主題”快捷菜單
function ws_add_new_post_link() {
add_posts_page(
‘添加新WP主題’,
‘添加新WP主題’,
‘edit_posts’,
‘post-new.php?category_id=15’ // 15 為分類ID
);
}
add_action(‘admin_menu’, ‘ws_add_new_post_link’);

上面的代碼在後臺添加瞭“添加新WP主題”快捷菜單,第 7 行的 15 就是“WP主題”這個分類的ID。

參考資料:http://w-shadow.com/blog/2012/11/20/pre-select-category-for-new-post/

發佈留言