WP_ADD_INLINE_STYLE()不工作吗?

时间:2016-02-26 作者:Thaledric

我正在制作我的公文包,我需要为我的“公文包”类别中的每个帖子设置自定义背景颜色和图像。我使用自定义数据存储颜色和图像url,并尝试在页面上打印新的css。

我不能使用真正的内联css(比如style=”),因为我制作的JS脚本已经使用了它,并且会产生冲突。

所以我尝试使用wp\\u add\\u inline\\u样式:

<?php // File "content-thumbnail.php" used for each post. So, we\'re in the Loop here. ?>

<div class="post-circle">
    <?php lethal_post_circle_background(get_the_ID()); ?>
    <div class="post-circle-summary">
        <p class="post-title"><?php the_title(); ?></p>
        <p class="post-categories"><?php lethal_post_categories_portfolio(); ?></p>
    </div>
    <div class="post-circle-content">
    </div>
</div>
然后是添加样式的脚本:

<?php
function lethal_post_circle_background($id){
    $custombgcolor = get_post_meta( $id, \'bgcolor\', true );
    $custombgimage = get_post_meta( $id, \'bgimage\', true );
    if($custombgcolor | $custombgimage){
        $css = \'.post-\'.$id.\' .post-circle{
        background:\';
        if($custombgcolor) $css .= $custombgcolor . \' \';
        if($custombgimage) $css .= \'url("\' . $custombgimage . \'")\';
        $css.= \';}\';

        wp_add_inline_style(\'lethal-style\', $css);
    }

}
问题是生成的html文件中没有泛型样式,但wp\\u add\\u inline\\u style()函数返回true(因此我认为一切正常)。我没有任何错误或通知消息。

你知道问题出在哪里吗?

谢谢

1 个回复
SO网友:denis.stoyanov

你需要上钩wp_add_inline_stylewp_enqueue_scripts. 检查codex example. 类似(未测试):

function lethal_post_circle_background(){
    global $post;
    $id = $post->ID;
    $custombgcolor = get_post_meta( $id, \'bgcolor\', true );
    $custombgimage = get_post_meta( $id, \'bgimage\', true );
    if($custombgcolor | $custombgimage){
        $css = \'.post-\'.$id.\' .post-circle{
        background:\';
        if($custombgcolor) $css .= $custombgcolor . \' \';
        if($custombgimage) $css .= \'url("\' . $custombgimage . \'")\';
        $css.= \';}\';

        wp_add_inline_style(\'lethal-style\', $css);
    }

}
add_action( \'wp_enqueue_scripts\', \'lethal_post_circle_background\' );

相关推荐

About wordpress child themes

我对WordPress和儿童主题有一些问题。据我所知,如果我不想在更新主题时失去任何东西,使用子主题是很重要的。我是WordPress的初学者,到目前为止,我一直在使用PageBuilder(管理面板上的板载自定义选项)自定义我的网站,并在“附加CSS”选项中加入几行CSS。所有这些都是在主主题上完成的(只是玩转尝试学习),现在我想开始使用一个儿童主题。问题如下:我不知道我是否可以像通过管理界面设计父主题那样设计我的子主题,或者我是否必须通过文本编辑器(在我的计算机上,然后通过FTP等方式上传)对所有内容