反应堆主题:防止帖子上的大拇指

时间:2013-10-23 作者:martcol

反应堆主题建造在Zurb基础上here - 我觉得很好。

我要替换的主题使用了帖子或博客页面中的特色图片,但不是帖子本身。Reactor调用这两个中的映像。我想尝试并改变这一点,这样我就可以在博客页面上而不是在帖子中看到特色图片。这导致了一个问题,因为我通常在帖子中使用图像,并将其用于博客页面。

反应堆主题使用了大量的include、function、hook和所有那些花哨的shizzle,所以我发现它很复杂。我想我已经了解到,这是在调用特征图像:

function reactor_do_standard_thumbnail() { 
$link_titles = reactor_option(\'frontpage_link_titles\', 0);

if ( has_post_thumbnail() ) { ?>
<div class="entry-thumbnail">
    <?php if ( is_page_template(\'page-templates/front-page.php\') && !$link_titles ) { 
        the_post_thumbnail( \'thumb-150\' );
    } else { ?>
                <a href="<?php the_permalink(); ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail( \'thumb-150\' ); ?></a>
        <?php } ?>
    </div>
<?php }
}
add_action(\'reactor_post_header\', \'reactor_do_standard_thumbnail\', 4);
完整的代码是here 在Git上。

我是否正确地认为这段代码就是我所认为的那样做的?谁能给我一个线索,告诉我如何改变这种行为?

谢谢

2 个回复
最合适的回答,由SO网友:martcol 整理而成

这就是破解它的原因:

function reactor_do_standard_thumbnail() { 
$link_titles = reactor_option(\'frontpage_link_titles\', 0);  
if ( has_post_thumbnail() ) { ?>
<div class="entry-thumbnail small-4 column">            
<?php if ( is_page_template(\'page-templates/front-page.php\') && !$link_titles ) { 
the_post_thumbnail( \'thumb-150\' ); ?>
<?php } elseif ( is_single()){ ;?>
    <?php } else { ;?>
            <a href="<?php the_permalink(); ?>" rel="bookmark"     title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail(\'thumb-150\');     ?></a>
<?php } ?>
</div>
<?php }
}
add_action(\'reactor_post_header\', \'reactor_do_standard_thumbnail\', 4);

SO网友:kaiser

回调

这是“Reactor”如何钩住回调

add_action( \'reactor_post_header\', \'reactor_do_standard_thumbnail\', 4 );
回溯(Backtrace)函数本身从链接的位置挂接

~/theme_root/library/inc/content/content-post.php
but 此文件由class Reactor. 此类/文件为not 在主回调期间包括hooked to after_setup_theme in the functions.php file on priority 10, 但在此之前,没有回调。然后它就被实例化了:

require locate_template(\'library/reactor.php\');
new Reactor();
当类被实例化并且__construct()或被调用,它钩住为默认thumb注册回调的回调on priority 14 on the after_setup_theme hook ... (仅供参考:采用lame PHP 4样式)。

add_action(\'after_setup_theme\', array( &$this, \'content\' ), 14);
那么the content() method 只包括另一个文件:

require_once locate_template(\'/library/inc/content/content-pages.php\');
以及this file 是实际附加默认缩略图的缩略图here.

add_action(\'reactor_post_header\', \'reactor_do_standard_thumbnail\', 4);
现在只需在中添加以下内容your CHILD THEME functions.php 文件

/**
 * Remove the original callback, add in a new one
 */
add_action( \'after_setup_theme\', \'wpse119843RemoveStandardThumbs\', 20 );
function wpse119843RemoveStandardThumbs()
{
    // Removes it for posts AND pages. If you only want posts, use is_single()
    if ( is_singular() )
        remove_action( \'reactor_post_header\', \'reactor_do_standard_thumbnail\', 4 );

    add_action( \'reactor_post_header\', \'wpse119843AddCustomThumbs\' );
}
/**
 * The callback that formats the new output
 */
function wpse119843AddCustomThumbs()
{
    $link_titles = reactor_option( \'frontpage_link_titles\', 0 );

    if ( has_post_thumbnail() )
    {
        ?>
        // REFACTOR REACTOR
        <?php
    }

}
注意要保留更改,请使用Child Theme. 当你仔细查看网站时you\'ll see that there already exists one.

结束

相关推荐