Questions tagged «multisite»

通过一个安装和一个中央管理来运行多个站点。也称为网络和WPMU。



3
多站点插件的“全局”设置页面
我正在研究一个将安装在多站点实例中的插件。 如何创建仅在“网络管理员”级别可见的单个设置页面-我所看到的大多数指南都与标准博客级别的插件有关。信息的任何链接都将很有用,否则我将最终遍历站点范围的标签以了解其工作情况。 [更新] 像sitewide_tags用途的外观add_site_option,get_site_option和update_site_option,而这些功能使用wp_sitemeta。但是,据我所知,不支持register_setting,add_setting等,因此您必须手动获取和设置选项。

3
restore_current_blog()与switch_to_blog()
在您的每个实例之后,switch_to_blog()应致电restore_current_blog()以恢复当前(实际上是上一个)博客。 但是,如果您要遍历两个或两个以上博客并分别调用switch_to_blog(),那么是否有理由不在switch_to_blog()循环结束时不使用其他博客来切换到原始博客,而不是restore_current_blog()在每次通过时都进行调用。 例如 为什么不: $original_blog_id = get_current_blog_id(); foreach( $blog_ids as $blog_id ){ switch_to_blog( $blog_id ); //Do stuff } switch_to_blog( $original_blog_id ); 代替: foreach( $blog_ids as $blog_id ){ switch_to_blog( $blog_id ); //Do stuff restore_current_blog_id(); }
23 multisite 

8
如何仅对一个站点禁用启用网络的插件?
我正在建立一个(可能是)大型的多站点网络,并且我希望现在可以尽可能轻松地在需要时添加和配置站点。我目前正处在处理插件的阶段。 对于多站点,我知道可以激活插件的几种不同方式 插入插件/plugins,在每个站点上单独激活它 将插件放入/plugins,使用“网络激活”在所有站点上激活它 将插件放入/mu-plugins,在每个站点上自动激活 现在,我一直在使用设置,我想在除一两个站点之外的所有站点上激活Akismet 。我以为我可以通过网络激活插件,然后在一个站点上将其禁用,但我无法这样做-如果我使用网络激活,则只有“网络停用”选项-可以在整个站点上停用插件所有网站。 有没有一种方法可以激活网络的便捷功能,但是仍然可以方便地逐站点停用插件?
22 multisite 

4
WordPress多站点-全球类别
设置WP多站点实例-客户端具有现有的本体/类别集,他们希望对整个博客集中的所有内容进行分类。同样,人们希望在“网络博客”级别添加任何新类别,并将其同步到其他博客。 最好的方法是什么?

1
如何可靠地刷新多站点上的重写规则?
假设您有一个需要刷新重写规则的插件。您可以使用激活钩正确地完成所有操作,并在后期添加冲洗功能,从而使所有操作都平滑且兼容。 有一天,有人尝试在多站点上运行它。 而不是像这样的简单方案: WordPress网站已创建 插件已安装并激活 您现在遇到了噩梦般的场景: 已安装插件并激活了网络 在多站点中创建了新的WordPress站点(或一百个) 从理论上讲它应该起作用,对吗?实际上,它以引人注目的方式出错: $wp_rewrite 状态可能来自错误的站点 switch_to_blog() 也不跟踪重写状态 “后期”部分可能完全发生在不同的博客中 您应该很好用的所有其他插件,可能未在其他站点上一致启用 例如,您可以看到此问题,每当创建新站点时,如何正确地尝试消除主站点上的永久链接。 因此,插件将如何可靠地刷新多站点中的重写规则: 创建新站点时,该站点是什么? 当现有站点从非活动状态激活时,该站点是? 当插件被网络激活时,对于每个站点? 停用网络插件后,对于每个站点? 可能在其他情况下,涉及重写全局上下文而被更改?

5
将WP Multisite移到子目录
首先,我阅读 了有关此过程的许多文章。但是,由于各种原因,由于缺乏甚至是抽象的示例,或者可能过于抽象,该过程仍然难以实现或进行故障排除。还有一些“不能做”的帖子,几乎总是跟着“ 3.5,您现在可以”的告诫,因此是否可以保持模棱两可,尽管无疑是不平凡的。 摘要: 如何将wordpress多站点(WPMS)从root.com移到root / blogs? 对于此示例,我们将WPMS从“ root.com”移至“ root.com/blogs” 我了解我需要适当地更新数据库和wp-config.php中的路径。看来我可能还必须更新.htaccess?我也知道搜索/替换和mysql查询更新的序列化问题。 我有一个WPMS,我已经更新到3.5。我发现下表包含域和路径信息 移至子目录之前的现有工作配置 1. wp_blogs select blog_id, domain, path from wp_blogs; +---------+-------------+--------+ | blog_id | domain | path | +---------+-------------+--------+ | 1 | root.com | / | | 2 | root.com | /matt/ | +---------+-------------+--------+ 2. wp_site select * in …

2
WordPress MultiSite Active Directory集成和网站隐私
以下是设置概述: 我有WordPress 3.4.2的多站点安装。 我已经安装了Active Directory身份验证集成插件,以允许用户使用其AD凭据。这还允许将AD组分配给每个站点,从而使站点管理员不必手动分配权限。 我已经安装了“ 网络隐私”插件,因此必须先登录某些网站才能看到任何内容。匿名用户仅看到登录页面。 在许多方面,此设置都有效。但是,我遇到一个问题,这使我无法将其推广到我们的主要WordPress多站点安装: Bob是AD中“ IT支持”组的成员。 鲍勃还是AD中“域用户”组的成员。 主站点(www.mysite.com)已被锁定,仅允许“ Domain Users”成员登录。 子站点(www.mysite.com/itsupport)被锁定为仅允许“ IT Support”成员登录。 鲍勃访问www.mysite.com并提示进行身份验证。他输入了AD凭据,并被允许进入该站点。 现在,他已经登录www.mysite.com,Bob单击该链接转到www.mysite.com/itsupport,并收到一条错误消息,表明他不是该网站的成员。 似乎尚未在WordPress数据库中为此子站点创建任何用户条目。 鲍勃退出www.mysite.com。 现在,他已注销,Bob直接转到www.mysite.com/itsupport并提示您进行身份验证。他输入了AD凭据,并被允许进入该站点。 似乎此时已为此子站点在WordPress数据库中创建了用户条目。 现在,如果他注销并登录www.mysite.com,则可以遍历itsupport网站,而不会遇到任何问题。 如果我删除了两个站点的Bob用户条目并禁用了Network Privacy插件,则Bob可以登录www.mysite.com,然后遍历itsupport站点。但是,如果我删除他的用户条目并重新启用Network Privacy插件,问题就会再次出现。 我对另一个隐私插件也遇到了同样的问题,尽管我不记得是哪个。 如果您可以发现问题,或者设置了类似的设置,只要符合使用AD组并能够锁定某些站点的基本条件,我愿意尝试任何事情。

2
如何使用具有不同域名的Wordpress多站点?
我想使用WordPress多站点,但我希望能够使用自己的名称。例如,我的主站点称为example.com。如果我想将新站点添加到我的多站点网络中,则称为newsite.example.com。我希望它newsite.com没有example。有没有办法做到这一点? 我听说过使用插件进行域映射,但是我不知道这是否与此问题相关。如果相关,我想知道这到底是什么。

1
我如何信任switch_to_blog()?
当我switch_to_blog()使用博客ID 打电话时,我不知道该博客是否确实存在。该函数始终返回TRUE。 测试用例: switch_to_blog( PHP_INT_MAX ); $post = get_post( 1 ); restore_current_blog(); 这将导致数据库错误显示给用户。我该如何预防? 现实世界中的用例 我是Multilingual Press的首席开发人员。用户翻译帖子时,会看到如下屏幕: 现在可能发生以下情况: 她成功保存了帖子,并继续翻译帖子。 另一个用户(网络管理员)在写作时会删除德语博客。 她再次点击保存并获得数据库错误。 我想避免这种情况。如何快速检查目标博客是否存在?我switch_to_blog()经常在多个不同的班级中打电话,因此必须快速。

5
以正确的方式在多站点上运行WP Cron
我有多个站点的WordPress Multisite。我成立了DISABLE_WP_CRON以true我的wp-config.php。 如果使用wget或curl设置cron任务,则有30秒的规则来执行PHP脚本。发送大量电子邮件通知和执行其他操作是如此之小(也许远程SMTP服务器连接速度很慢,也许是来自bbPress或其他任何东西的大量电子邮件通知)。 也许我们可以使用这样的东西? php -q wp-cron.php 但这仅对多站点中的一个站点运行cron(每个站点在不同的MySQL表中都有自己的cron任务)。 PS 在wpmudev.org论坛上,我发现了奇怪的“解决方案”,它也使用了Curl。 另一个PS WP CLI有真棒wp cron命令,但它仅允许手动运行的后台任务(是的,我们可以使用--urlattr)使用。例如: wp cron event list --url=multisite.com wp cron event list --url=subdomain.multisite.com

2
WordPress面试准备
我正在面试WordPress开发人员的工作。我仅在WP工作了一年,感觉对它的设置,如何functions.php做,在哪里修改主题等都有很好的了解。但是下周的访谈将是问我所有有关WordPress和Linux并附带一些MySql的信息。我所知道的是,他们将给我一台笔记本电脑和一个测试。 我该如何准备呢?我今天应该练习写插件吗?我知道如何设置Linux服务器,但是我对高级文件操作或Shell脚本并不满意。我擅长设置,故障排除和配置。我读了很多WP Codex。有什么好的家庭作业可以给自己适当的准备?我注意到那里没有很多资源可供学习以WP为中心的面试。
17 multisite  linux 

2
从多站点中的站点获取帖子?
我正在尝试拉多个网站的帖子。例如,我可以按类别和总帖子数拉出单个网站帖子。 但是,我试图从两个单独的多站点博客1和2中提取两个帖子。但是只有博客1有效。另外,我想从博客1和博客2中提取另一个类别。我该如何实现? 这是我想做的事情: <?php global $switched; switch_to_blog(1,2); //switched to 1 & 2 but only 1 working // Get latest Post $latest_posts = get_posts('&cat=64&showposts=10'); $cnt =0;?> <ul> <?php foreach($latest_posts as $post) : setup_postdata($post);?> <li> <a href="<?php echo get_page_link($post->ID); ?>" title="<?php echo $post->post_title; ?>"><?php echo short_title('...', 7); ?></a> </li> <?php endforeach ; …

3
如何将自定义博客选项添加到新的博客设置表单?
看起来很简单,但是我很挣扎: 我想在“添加新站点”中添加一个选项字段。 一个简单的文本选项就可以了。我该怎么做呢? 创建网站时,我需要保存此自定义博客选项。 我知道我可以使用“ wpmu_new_blog”钩子,该钩子$meta使用提供的选项传递变量,但是我想知道是否有一种方法可以一步完成所有操作,因此我不必执行另一个数据库查询,或者更糟,覆盖/替换整个网站创建过程? 笔记: 我正在使用WP 3.3.1和MultiSite设置。我正在写一个插件,列出与指定的自定义字段值匹配的所有站点(我们称其为“类型”)。 另外,我是一位经验丰富的PHP开发人员,但是我对WordPress黑客还比较陌生,因此请假定我还不熟悉所有各种WP函数和挂钩。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.