你能在创世纪主题结构中添加类吗?
例如:
do_action('genesis_before_header');
do_action('genesis_header');
do_action('genesis_after_header');
这些函数在哪里初始化,我可以在哪里添加或创建自己的函数?
例如do_action( 'genesis_header' );
,如果您希望更改标题或 HTML 标记的类别,请使用此代码。
这是默认结构
add_action( 'genesis_header', 'genesis_header_markup_open', 5 );
function genesis_header_markup_open() {
genesis_markup( array(
'html5' => '<header %s>',
'xhtml' => '<div id="header">',
'context' => 'site-header',
) );
genesis_structural_wrap( 'header' );
}
function genesis_header_markup_close() {
genesis_structural_wrap( 'header', 'close' );
genesis_markup( array(
'html5' => '</header>',
'xhtml' => '</div>',
) );
}
add_action( 'genesis_header', 'genesis_header_markup_close', 15 );
这是您的自定义结构
remove_action( 'genesis_header', 'genesis_header_markup_open', 5 );
remove_action( 'genesis_header', 'genesis_header_markup_close', 15 );
add_action( 'genesis_header', 'genesis_header_markup_open_custom', 5 );
function genesis_header_markup_open_custom() {
genesis_markup( array(
'html5' => '<div %s>',
'xhtml' => '<div id="my-header">',
'context' => 'my-header',
) );
genesis_structural_wrap( 'header' );
}
function genesis_header_markup_close_custom() {
genesis_structural_wrap( 'header', 'close' );
genesis_markup( array(
'html5' => '</div>',
'xhtml' => '</div>',
) );
}
add_action( 'genesis_header', 'genesis_header_markup_close_custom', 15 );
或者简单地添加一个包含自定义 HTML 标记和类的自定义函数。用这个
add_action( 'genesis_header', 'opening', 6 );
add_action( 'genesis_header', 'closing', 14 );
function opening(){
echo '<div class="opening">'; //Opening div element
}
function closing(){
echo '</div>'; //Closing div element
}
输出
要知道创世结构的位置,请访问此文件夹
theme/genesis/genesis/lib/structure
希望这会有所帮助。
如果您只需要特定模板上的正文类,请尝试
//* Add custom body class to the head
add_filter( 'body_class', 'my_body_class' );
function my_body_class( $classes ) {
$classes[] = 'YOUR-CLASS-HERE';
return $classes;
}
对于其他代码片段和用例,请尝试https://my.studiopress.com/snippets/custom-body-class/。