Wordpress无插件实现新建文章时预先自动选择分类

二叶草 2020年2月28日22:16:37wordpress插件评论阅读模式

Wordpress无插件实现新建文章时预先自动选择分类

需求

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

如图:需求是打开编辑文章的界面后,分类1要自动勾选。

这个简单的需求,在目前版本的 Wordpress(4.2.2) 里并不能简单地实现。但可以通过 Hook 配合 jQuery 实现,不需要插件。

原理

可以将这个需求分解为两步:

  1. 按钮指向一个链接,此链接中包含分类参数(如分类的tag_ID,我们在示例中设为 catid)
  2. 后台加载新建文章页面后,获取 URL 中的 catid 参数,通过 JS 模拟点击以选择此分类

将以下代码加入到 Wordpress 主题的 function.php 中,这样,则可以通过形如

http://icewent.com/wp-admin/post-new.php?post_type=post&cate=72

的链接在编号为 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');

参考资料

W-Shadow.com: How to Pre-Select a Category for a New Post

Wordpress无插件实现新建文章时预先自动选择分类
本文来源于:Wordpress无插件实现新建文章时预先自动选择分类-变化吧门户
特别声明:以上文章内容仅代表作者本人观点,不代表变化吧门户观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与变化吧联系。

  • 赞助本站
  • 微信扫一扫
  • weinxin
  • 加入Q群
  • QQ扫一扫
  • weinxin
二叶草
又有三个WordPress插件被指存在后门 wordpress插件

又有三个WordPress插件被指存在后门

大规模的WordPress插件生态系统开始显示出腐烂的气隙:将老旧弃用的插件卖给新作者,而后者马不停蹄地在原始代码中加了一个后门。 WordPress 安全团队Wordfence发现了这三个后门并已将...

发表评论