Genesis Framework - 如何切换主钩子和侧边栏钩子顺序

时间:2015-03-23 18:38:52

标签: php wordpress frameworks hook genesis

我最近开始使用Genesis Framework,我仍然习惯于用于创建布局的钩子。

我正在设计的页面使用左侧边栏作为主导航。它工作得很好,直到它在较小的屏幕上坍塌;侧边栏位于主要内容下方的底部。

我尝试寻找解决方案,因为它似乎可能是常见的,但没有成功。

我认为解决它的过程是使用remove_action删除侧边栏和主要内容,然后使用add_action以不同的顺序将它们带回来。为此,我需要知道钩子的确切名称和订单号(如果指定)。

请告诉我您认为可以解决的问题,如果我走在正确的轨道上,您将如何更改订单。

2 个答案:

答案 0 :(得分:2)

万一你需要,这是你问题的答案。

这是删除页面内容的方法。

remove_action( 'genesis_loop', 'genesis_do_loop' );

这是删除页面中边栏的方法。

remove_action( 'genesis_sidebar', 'genesis_do_sidebar' );

这是内容和侧边栏之前的钩子。

genesis_before_content

在你的情况下,让我们在functions.php中使用这些代码

remove_action( 'genesis_sidebar', 'genesis_do_sidebar' );
add_action( 'genesis_before_content', function(){
    echo '<aside class="sidebar sidebar-primary widget-area" role="complementary" itemscope="itemscope" itemtype="http://schema.org/WPSideBar">';
    echo genesis_do_sidebar();
    echo '</aside>';
}, 2 );

希望这可以在将来帮助你。

答案 1 :(得分:0)

确定。我找到的解决方案是使用Flexbox修复CSS。

这很简单,但我希望在源头修复问题,而不是找到掩盖它的东西。

在崩溃时,媒体查询以及屏幕大小完成。 CSS修复是:

  1. 申请{display:flex; flex-direction:column;}到包含元素,和
  2. 将{order:2;}应用于首先出现的元素,但我想要第二个。
  3. 让我知道你的想法和/或不同的做法。