有没有办法改变Genesis Framework的循环结构,使循环头出现在与条目内容相同的div中?
我尝试在 genesis 模板中弄乱 loop.php 文件,也尝试查找不同的钩子,但我似乎找不到任何有用的东西。
有没有人已经完成了这个或会有一个想法?
要在 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();
?>
希望能帮助到你 ;)
这是简单的方法。您首先从标题中删除条目标题内容。
例如
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 的子主题中的该模板文件中。
我列出了我在开发网站时使用的所有最常见的 Genesis 钩子和过滤器,而不会让您厌烦更多内容。 https://icodefy.com/common-genesis-hooks-filters/