我意识到,当切换主题时(在我的情况下,切换为儿童主题),有些事情会不一样:
小部件菜单至少这是我目前发现的:
小部件
Don\'t lose widgets when switching themes
Avoid losing widgets when switching themes
我意识到,当切换主题时(在我的情况下,切换为儿童主题),有些事情会不一样:
小部件菜单至少这是我目前发现的:
Don\'t lose widgets when switching themes
Avoid losing widgets when switching themes
在做了一些研究之后,这个答案比预期的要长一些,但这是关键:
TL;DR: Menu placement and Widget placement/order is saved on a Theme basis and can therefore be restored when switching Themes. This does not include the individual settings of Menus and Widgets, so if you change them these changes are global to your WordPress site and can\'t be rolled back.
自定义帖子类型(在一个主题中注册,但不在另一个主题中注册)
话虽如此,我将回顾一下主要的相关内容:
菜单是菜单项的命名集,主题位置是在主题中定义的命名位置,您可以在其中放置菜单,菜单可以与WordPress后端中的这些主题位置关联在外观下;菜单然后以主题为基础保存这些关联让我们看一个示例:
菜单M1、M2、M3主题A(主题位置A1和A2)
M1->;A1级
M2->;A2级
M3->;A2级
现在您激活了主题B。此主题尚未设置任何关联:
M1->;不活跃的
M2->;不活跃的
M3->;不活跃的
我们现在将其更改为:
M1->;B2级
M2->;B2级
M3->;不活跃的
如果我们切换回主题A,我们将再次拥有:
M1->;A1级
M2->;A2级
M3->;A2级
现在,我们删除了影响主题A和主题B的M1。因此,如果我们再次切换到主题B,我们只有:
M2->;B2级
M3->;不活跃的
我创建了一个动画来说明所有这些变化:
主要区别在于,对于菜单,这些菜单项分组的存在与它们在主题中的使用无关。相反,对于小部件,不存在与主题无关的中间步骤。小部件直接分配给特定于主题的小部件区域。因此,切换主题可能会导致比菜单更混乱的局面。让我们再次回顾一下:
有小部件有小部件区域(也称为侧栏)
如果新主题具有不同数量的小部件区域,小部件将根据忽略ID的顺序移动。因此,无论小部件区域如何命名,主题A中第一个小部件区域中的内容将位于主题B中的第一个小部件区域。没有相应小部件区域的小部件将移动到非活动侧栏区域
控件W1、W2、W3、W4主题A(控件区域顶部、右侧、底部)
W1->;顶部
W2->;正当
W3->;底部
现在您激活了主题B。小部件将根据前面提到的规则自动传输。
W1->;收割台
W2->;页脚
W3->;非活动侧栏
我们现在将其更改为:
W1->;收割台
W2->;页脚
W3->;页脚
如果我们切换回主题A,则会恢复以前的配置,因此我们将再次执行以下操作:
W1->;顶部
W2->;正当
W3->;底部
现在,我们删除了影响主题A和主题B的W3。因此,如果我们再次切换到主题B,我们只有:
W1->;收割台
W2->;页脚
我再次创建了一个动画来说明所有这些更改:
我正在开发一个WordPress主题,它在我的本地主机和一个live server上运行得很好,但在我的另一个live server上,小部件菜单(从外观)不会出现。是的,所有3台服务器都有相同的3.6.1 WordPress版本,主题文件也相同。知道这是什么原因吗?这是functions.php 注册小部件区域:if (function_exists(\'register_sidebar\')) { register_sidebar(array( \'name\' => \