需求
在 CMS 系统里,会有这样一类需求:点击按钮创建一篇XX分类的文章,比如「新建歌曲」、「新增产品」、「新增日记」、「新增分类1下的文章」等(假设歌曲、产品、日记、分类1是你的 CMS 系统里已经存在的分类或类型)。

如图:需求是打开编辑文章的界面后,分类1要自动勾选。
这个简单的需求,在目前版本的 Wordpress(4.2.2) 里并不能简单地实现。但可以通过 Hook 配合 jQuery 实现,不需要插件。
原理
可以将这个需求分解为两步:
- 按钮指向一个链接,此链接中包含分类参数(如分类的tag\_ID,我们在示例中设为 catid)
- 后台加载新建文章页面后,获取 URL 中的 catid 参数,通过 JS 模拟点击以选择此分类
将以下代码加入到 Wordpress 主题的 function.php 中,这样,则可以通过形如
http://icewent.com/wp-admin/post-new.php?post\_type=post&cate=72
的链接在编号为 72 的分类下创建一篇文章。
代码
function ws\_preselect\_post\_category() {
if ( isset($\_GET\['catid'\]) && is\_numeric($\_GET\['catid'\]) ) {
$catId \= intval($\_GET\['catid'\]);
?>
<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');
参考资料
W-Shadow.com: How to Pre-Select a Category for a New Post

暂无评论