修改创世子主题中的POST/Entry包装器标记

时间:2013-09-27 作者:rugbert

我觉得这应该是一个很容易找到的答案,但到目前为止我还没有找到任何答案。

因此genesis循环会自动将帖子包装在一个div中,如下所示:

    <div class="post-4006 post type-post status-publish 
format-standard hentry category-blog tag-foia tag-nmb entry">...</div>
我需要更改标记,为每篇文章添加背景图像。我正在尝试拍摄特色图片并将其应用于div背景,因此我需要我的帖子标记

    <div style="url_to_post_thumbnail" class="post-4006 post type-post status-publish 
format-standard hentry category-blog tag-foia tag-nmb entry">...</div>
我可以很好地完成逻辑,但我不知道要修改post包装器的过滤器是什么。我似乎找不到它。

2 个回复
SO网友:vicdilu

今天,我遇到了一个类似的问题,这对我起到了作用:

/**
 * Add and extra class to the entry-content div
 *
 */
function vdl_entry_content_extraclass( $attributes ) {
  $attributes[\'class\'] = $attributes[\'class\']. \' my-custom-class\';
    return $attributes;
}
add_filter( \'genesis_attr_entry-content\', \'vdl_entry_content_extraclass\' );
在我的例子中,我将此代码添加到我的单个投资组合中。php模板,因为我只想在该模板中添加该类。如果在函数中粘贴此代码。php更改将应用所有模板。您还可以在函数中使用条件标记来决定在何处应用此更改。

由于我本周才开始讲《创世纪》,这是我的第一个儿童主题,我不知道这是否是正确的方式,但我希望它会对你有所帮助。

SO网友:Charles Clarkson

该标记硬编码到genesis_legacy_loop() Genesis功能。没有提供用于向该标记添加属性的过滤器。

printf( \'<div class="%s">\', join( \' \', get_post_class() ) );
您可以通过复制genesis_legacy_loop() 函数到atemplate file (如single.php) 在您的孩子主题中。然后为背景图像添加逻辑。

$loop_counter = 0;

if ( have_posts() ) : while ( have_posts() ) : the_post();

    do_action( \'genesis_before_post\' );

    printf( \'<div class="%s">\', join( \' \', get_post_class() ) );

        do_action( \'genesis_before_post_title\' );
        do_action( \'genesis_post_title\' );
        do_action( \'genesis_after_post_title\' );

        do_action( \'genesis_before_post_content\' );
        echo \'<div class="entry-content">\';
            do_action( \'genesis_post_content\' );
        echo \'</div>\'; //* end .entry-content
        do_action( \'genesis_after_post_content\' );

    echo \'</div>\'; //* end .entry

    do_action( \'genesis_after_post\' );
    $loop_counter++;

endwhile; //* end of one post
    do_action( \'genesis_after_endwhile\' );

else : //* if no posts exist
    do_action( \'genesis_loop_else\' );
endif; //* end loop
通过将所有常规genesis操作保留在此循环中,您可以允许genesis中内置的所有功能正常运行,并可以根据您的喜好更改标记。

结束

相关推荐

Apply_Filters()和_Excerpt提供了意外的结果

我觉得我一定错过了一些显而易见的东西,但我似乎无法让WordPress合作。我正在用一个函数生成Facebook OG标签。除了摘录,一切都很好。自get_the_excerpt($post->ID), 有没有其他方法可以创建摘录而不必创建一个全新的循环?我觉得这太过分了。我的第一反应是apply_filters():$description = apply_filters(\'the_excerpt\', get_post($post->ID)->post_content);

修改创世子主题中的POST/Entry包装器标记 - 小码农CODE - 行之有效找到问题解决它

修改创世子主题中的POST/Entry包装器标记

时间:2013-09-27 作者:rugbert

我觉得这应该是一个很容易找到的答案,但到目前为止我还没有找到任何答案。

因此genesis循环会自动将帖子包装在一个div中,如下所示:

    <div class="post-4006 post type-post status-publish 
format-standard hentry category-blog tag-foia tag-nmb entry">...</div>
我需要更改标记,为每篇文章添加背景图像。我正在尝试拍摄特色图片并将其应用于div背景,因此我需要我的帖子标记

    <div style="url_to_post_thumbnail" class="post-4006 post type-post status-publish 
format-standard hentry category-blog tag-foia tag-nmb entry">...</div>
我可以很好地完成逻辑,但我不知道要修改post包装器的过滤器是什么。我似乎找不到它。

2 个回复
SO网友:vicdilu

今天,我遇到了一个类似的问题,这对我起到了作用:

/**
 * Add and extra class to the entry-content div
 *
 */
function vdl_entry_content_extraclass( $attributes ) {
  $attributes[\'class\'] = $attributes[\'class\']. \' my-custom-class\';
    return $attributes;
}
add_filter( \'genesis_attr_entry-content\', \'vdl_entry_content_extraclass\' );
在我的例子中,我将此代码添加到我的单个投资组合中。php模板,因为我只想在该模板中添加该类。如果在函数中粘贴此代码。php更改将应用所有模板。您还可以在函数中使用条件标记来决定在何处应用此更改。

由于我本周才开始讲《创世纪》,这是我的第一个儿童主题,我不知道这是否是正确的方式,但我希望它会对你有所帮助。

SO网友:Charles Clarkson

该标记硬编码到genesis_legacy_loop() Genesis功能。没有提供用于向该标记添加属性的过滤器。

printf( \'<div class="%s">\', join( \' \', get_post_class() ) );
您可以通过复制genesis_legacy_loop() 函数到atemplate file (如single.php) 在您的孩子主题中。然后为背景图像添加逻辑。

$loop_counter = 0;

if ( have_posts() ) : while ( have_posts() ) : the_post();

    do_action( \'genesis_before_post\' );

    printf( \'<div class="%s">\', join( \' \', get_post_class() ) );

        do_action( \'genesis_before_post_title\' );
        do_action( \'genesis_post_title\' );
        do_action( \'genesis_after_post_title\' );

        do_action( \'genesis_before_post_content\' );
        echo \'<div class="entry-content">\';
            do_action( \'genesis_post_content\' );
        echo \'</div>\'; //* end .entry-content
        do_action( \'genesis_after_post_content\' );

    echo \'</div>\'; //* end .entry

    do_action( \'genesis_after_post\' );
    $loop_counter++;

endwhile; //* end of one post
    do_action( \'genesis_after_endwhile\' );

else : //* if no posts exist
    do_action( \'genesis_loop_else\' );
endif; //* end loop
通过将所有常规genesis操作保留在此循环中,您可以允许genesis中内置的所有功能正常运行,并可以根据您的喜好更改标记。