0

有没有办法改变Genesis Framework的循环结构,使循环头出现在与条目内容相同的div中?

我尝试在 genesis 模板中弄乱 loop.php 文件,也尝试查找不同的钩子,但我似乎找不到任何有用的东西。

有没有人已经完成了这个或会有一个想法?

4

3 回答 3

1

要在 Genesis 中自定义循环,在您需要删除 Genesis Loop 之前:

remove_action( 'genesis_loop', 'genesis_do_loop' );

然后你可以添加你的自定义循环

add_action( 'genesis_loop', 'my_custom_loop' );

这是在 Genesis 中工作的“标准外观”循环的基本示例:

function my_custom_loop() { 

<?php if (have_posts()) : ?>

<?php while (have_posts()) : the_post(); ?>

    // Your Code Here

<?php endwhile; ?>

<?php endif; ?>

<?php
}
genesis();
?>

请注意,您的函数必须以 'genesis();' 结尾 去工作!

所以整个页面代码可以是:

<?php
/*
 * Your Custom Page
 */
?>

<?php

remove_action('genesis_loop', 'genesis_do_loop');
add_action('genesis_loop', 'my_custom_loop');

function my_custom_loop() {

?>

<?php if (have_posts()) : ?>

    <?php while (have_posts()) : the_post(); ?>

        // Your Code

    <?php endwhile; ?>

<?php endif; ?>

<?php
}
genesis();
?>

希望能帮助到你 ;)

于 2014-09-04T17:11:35.747 回答
1

这是简单的方法。您首先从标题中删除条目标题内容。

例如

remove_action( 'genesis_entry_header', 'genesis_entry_header_markup_open', 5 );
remove_action( 'genesis_entry_header', 'genesis_do_post_title' );
remove_action( 'genesis_entry_header', 'genesis_post_info', 12 );
remove_action( 'genesis_entry_header', 'genesis_entry_header_markup_close', 15 );

一旦标题标记以及条目标题和条目信息从顶部删除。

您可以将它们添加回页面中您想要的位置,即genesis_entry_content挂钩。

例如

add_action( 'genesis_entry_content', 'genesis_do_post_title' );

希望这可以帮助。如果您遇到任何问题,请告诉我。

抱歉忘记添加,如果您希望它影响整个站点,则需要在子主题的 functions.php 文件中添加此自定义代码。如果您希望在某个模板上发生这种情况,那么在 Genesis 的子主题中的该模板文件中。

于 2015-09-11T05:28:03.077 回答
-1

我列出了我在开发网站时使用的所有最常见的 Genesis 钩子和过滤器,而不会让您厌烦更多内容。 https://icodefy.com/common-genesis-hooks-filters/

于 2017-09-08T19:34:04.240 回答