5ucms论坛
标题:
WordPress无插件实现新建文章时预先自动选择分类
[打印本页]
作者:
admin
时间:
2021-5-29 20:02
标题:
WordPress无插件实现新建文章时预先自动选择分类
需求
在 CMS 系统里,会有这样一类需求:点击按钮创建一篇XX分类的文章,比如「新建歌曲」、「新增产品」、「新增日记」、「新增分类1下的文章」等(假设歌曲、产品、日记、分类1是你的 CMS 系统里已经存在的分类或类型)。
如图:需求是打开编辑文章的界面后,分类1要自动勾选。
这个简单的需求,在目前版本的 WordPress(4.2.2) 里并不能简单地实现。但可以通过 Hook 配合 jQuery 实现,不需要插件。
原理
可以将这个需求分解为两步:
按钮指向一个链接,此链接中包含分类参数(如分类的tag_ID,我们在示例中设为 catid)
后台加载新建文章页面后,获取 URL 中的 catid 参数,通过 JS 模拟点击以选择此分类
将以下代码加入到 WordPress 主题的 function.php 中,这样,则可以通过形如
链接为编号为 72 的分类下创建一篇文章。
WordPress无插件实现新建文章时预先自动选择分类
代码
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');
复制代码
欢迎光临 5ucms论坛 (http://bbs.5ucms.com/)
Powered by Discuz! X3.2