如何获得wp_add_inline_style中的帖子元值?

时间:2019-02-05 09:19:03

标签: php wordpress

我正在尝试使用wp_add_inline_style获取样式的metabox的meta值。但是我没有找到任何解决办法。有什么想法或方法可以使它起作用。有什么方法可以在回调函数中获取元值?

 <?php

function my_styles_method($dipto_section) {

    wp_enqueue_style(
        'custom-style',
        get_template_directory_uri() . '/assets/css/main.css'
    );

        global $dipto_section;

$dipto_section_meta = get_post_meta($dipto_section['section'],'dipto-section-services01', true);

$custom_css = '';

foreach ($dipto_section_meta['services-items'] as $link){

        $custom_css .='
                .mycolor{
                        background:'.esc_attr($link['service-single-color']).';
                }';
}
        wp_add_inline_style( 'custom-style', $custom_css );
}
add_action( 'wp_enqueue_scripts', 'my_styles_method' );
?>

1 个答案:

答案 0 :(得分:0)

get_post_meta方法都接受 ID 作为第一个参数,并希望将其作为页面ID 帖子ID

>

在您的代码$dipto_section['section']中似乎不是 ID ,这可能是无法获取帖子元值的原因。

添加内联样式的代码非常正确,只是提到的问题需要更正。

为您提供帮助的示例代码:

function my_styles_method($dipto_section) 
{

     wp_enqueue_style('custom-style',get_template_directory_uri() . '/assets/css/main.css');
     $page_bg=get_post_meta(get_the_ID(),'<meta-key>',true);
     $page_bg_css.='#page { background:'.$page_bg.' !important; }';
     wp_add_inline_style( 'custom-style', $page_bg_css );

}
add_action( 'wp_enqueue_scripts', 'my_styles_method' );