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


Genesis Framework - How to switch main hook and sidebar hook order

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

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

我试着寻找一个解决方案,因为它似乎很常见,但没有成功。

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

请让我知道你认为什么能解决这个问题,如果我走对了路,你会如何改变订单。

如果您需要,下面是您的问题的答案。

这就是删除页面内容的方式。

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 );

希望这能在将来对你有所帮助。

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

这很简单,但我希望从源头上解决问题,而不是找到一些东西来掩盖它。

它是通过媒体查询以及折叠时的屏幕大小来完成的。CSS修复程序是:

  1. 将{display:flex;flex direction:column;}应用于包含元素,并且
  2. 将{order:2;}应用于第一个出现的元素,但我想要第二个

让我知道你的想法和/或有什么不同的做法。