在定制器控件中返回数值函数值

时间:2018-04-09 作者:jcongerkallas1

我正在尝试向WordPress自定义程序功能添加一些控件,但从控件中提取数字值以用于主题时遇到问题。该部分显示在Customizer选项卡中,我可以更改输入,但控件对主题没有影响。

我查阅了使用get\\u theme\\u mod和inline样式来设置div属性的教程,但我还没有弄清楚如何使控件id只返回自定义数值的输入。

$wp_customize->add_section( 
     "news_portal_grid_section", 
     array(
    \'title\'     => esc_html__( \'Grid Style\', \'news-portal-child\' ),
    \'panel\'     => \'news_portal_grid_settings_panel\',
    \'priority\'  => 25,
    )       
);   

$wp_customize->add_setting( 
     \'np_posts_per_page\', 
     array(          
    \'default\'           => \'6\',
    \'sanitize_callback\' => \'sanitize_key\',
    )       
);  
$wp_customize->add_control(new WP_Customize_Control ($wp_customize,
    \'np_posts_per_page\',
     array(
            \'type\'     => \'text\',
            \'section\'   => \'news_portal_grid_section\',
            \'settings\'   => \'np_posts_per_page\',
            \'priority\' => 2,
            \'label\' => __( \'Grid Posts\' ),
            \'description\' => __( \'This sets the number of posts to display.  This must be numeric.\' ),
            \'validate\' => \'numeric\',
            \'default\'  => \'5\',
            \'input_attrs\' => array(
                \'min\' => 0,
                \'max\' => 50,
                \'step\' => 1,
            ),

   )) );
我知道这里应该有一个函数/动作挂钩,但WordPress API在如何准确实现这一点上有点模糊。我需要np_post_num()的数字输出作为一个简单的整数或字符串返回,然后可以在$option_pg_number=_________;中声明。

function np_post_num(){
echo get_theme_mod(\'np_posts_per_page\', \'5\'); 
}
add_action (\'wp_head\', \'np_post_num\'); 

1 个回复
SO网友:jcongerkallas1

对我来说,解决方案是简单地删除np\\u post\\u num()add\\u操作挂钩,而将get\\u theme\\u mod()声明为所需的变量$option\\u pg\\u number。这允许在由$option\\u pg\\u number控制的单独循环函数中使用返回的number变量,而不只是在页面上打印“np\\u posts\\u per\\u page”的返回值。

$option_pg_number = get_theme_mod(\'np_posts_per_page\', \'5\');
我认为,如果WordPress Codex包含更多关于各种内置功能使用的文档,那么这一问题可能会得到更快的解决。codex专注于设置设置和控制,但没有对如何在页面上实现控制提供太多解释。

结束

相关推荐

尽管php.ini,但仍显示PHP E_WARNING

我在苹果操作系统上。我刚刚升级到High Sierra 10.13。x来自Sierra 10.12。x、 从PHP 5到PHP 7。我突然发现浏览器中显示了PHP警告错误。(PHP错误可以显示在浏览器中,但我不想看到警告。)不需要再修改php了。ini会解决这个问题。最终我意识到问题不在于php。ini,但使用Wordpress本身。(非Wordpress PHP文件中的警告不会显示,应该是这样的。)Wordpress中的某些内容似乎正在覆盖我的error_reporting php中的设置。ini。我怎