小编ugr*_*een的帖子

从页面编辑屏幕管理小部件

我正在寻找一种方法将小部件控制区域集成到页面编辑屏幕中.对于我正在制作的网站,它具有相同的拖放功能.

我想要一个可以拖放到页面小部件区域的可用小部件列表.然后,小部件将仅显示在该特定页面上.

我查看了wp-admin/widgets.php文件,并尝试使用那里的一些代码.我甚至尝试在post.php的末尾包含widgets.php(这基本上就是我想要的,但当然给了我有趣的结果).请不要建议像Widget Context或Widget Logic这样的插件.如果我不能这样做,那些是我的后备:)

所以我想了解如何实现这一点的想法和/或输入.我想在functions.php文件或插件中这样做.

编辑:我仍然对此感兴趣.只是关于如何做到这一点的理论描述会很棒:)

wordpress wordpress-plugin

8
推荐指数
1
解决办法
597
查看次数

从wordpress编辑页面屏幕中删除主编辑器

有人知道从页面编辑屏幕中删除主编辑器的方法吗?而不只是与CSS.我添加了一些带有tinymce的其他元框,它们与主要元素碰撞.

我有一个类从编辑屏幕中删除其他元框,但我不能这样摆脱主编辑器.我试图将'divpostrich'和'divpost'添加到类中的数组中(但没有运气):

class removeMetas{
    public function __construct(){
        add_action('do_meta_boxes', array($this, 'removeMetaBoxes'), 10, 3);
    }

    public function removeMetaBoxes($type, $context, $post){
        /**
         * usages
         * remove_meta_box($id, $page, $context)
         * add_meta_box($id, $title, $callback, $page, $context = 'advanced', $priority = 'default')
         */
        $boxes = array( 'slugdiv', 'postexcerpt', 'passworddiv', 'categorydiv',
                        'tagsdiv', 'trackbacksdiv', 'commentstatusdiv', 'commentsdiv',
                        'authordiv', 'postcustom');

        foreach ($boxes as $box){
            foreach (array('link', 'post', 'page') as $page){
                foreach (array('normal', 'advanced', 'side') as $context){
                    remove_meta_box($box, $type, $context);
                }
            }
        }
    }
}

$removeMetas = new removeMetas();
Run Code Online (Sandbox Code Playgroud)

我也尝试用jquery删除'divpostrich'.但是无法弄清楚将js放在哪里工作.当我用firebug删除浏览器中的'postdivrich'时 - …

php wordpress jquery wordpress-theming

6
推荐指数
2
解决办法
2万
查看次数