Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我制作了一个插件,我想为用户创建一个选择徽章颜色的选项,但在css中调用它时遇到了问题,无法工作_Php_Wordpress_Woocommerce_Plugins - Fatal编程技术网

Php 我制作了一个插件,我想为用户创建一个选择徽章颜色的选项,但在css中调用它时遇到了问题,无法工作

Php 我制作了一个插件,我想为用户创建一个选择徽章颜色的选项,但在css中调用它时遇到了问题,无法工作,php,wordpress,woocommerce,plugins,Php,Wordpress,Woocommerce,Plugins,我的主要php文件free-shipping-badge.php /** REGISTER STYLES **/ add_action( 'wp_enqueue_scripts', 'fsb_stylesheet' ); function fsb_stylesheet() { wp_register_style( 'view-style', plugins_url('/view/fsb_badge_style.php', __FILE__) ); wp_enqueue_style

我的主要php文件free-shipping-badge.php

/** REGISTER STYLES **/
add_action( 'wp_enqueue_scripts', 'fsb_stylesheet' );
function fsb_stylesheet() {
    wp_register_style( 'view-style', plugins_url('/view/fsb_badge_style.php', __FILE__) );
    wp_enqueue_style( 'view-style' );
}

/** ADD FREE SHIPPING BADGE SUFFIX AFTER PRICE **/
add_filter( 'woocommerce_get_price_suffix', 'fsb_suffix', 99, 4 );
function fsb_suffix( $html, $product, $price, $qty ){
    $fsb_price = (float) $product->get_price(); // Regular price
    $fsb_limit_price = esc_attr( get_option('fsb_limit_price_option') ); // Limit price
    $fsb_badge_text = esc_attr( get_option('fsb_badge_text_option') ); // Text to display on badge
    $fsb_badge_color = esc_attr( get_option('fsb_badge_color_option') ); // Text to display on badge
    if($fsb_price > $fsb_limit_price){
    $html .='</br>'.'<fsb_badge class="fsb_badge_view">' .$fsb_badge_text.' '.'</fsb_badge>';
    return $html;
}
}
/**寄存器样式**/
添加_操作(“wp_排队_脚本”、“fsb_样式表”);
函数fsb_样式表(){
wp_register_style('view style',plugins_url('/view/fsb_-badge_-style.php',_-FILE_));
wp_排队_样式(“视图样式”);
}
/**在价格后添加免费送货徽章后缀**/
添加过滤器('woocommerce\u get\u price\u suffix','fsb\u suffix',99,4);
函数fsb_后缀($html、$product、$price、$qty){
$fsb_价格=(浮动)$product->get_价格();//常规价格
$fsb_limit_price=esc_attr(get_option('fsb_limit_price_option');//限价
$fsb_badge_text=esc_attr(获取选项('fsb_badge_text_选项'));//要显示在徽章上的文本
$fsb_badge_color=esc_attr(获取选项('fsb_badge_color_选项'));//要在徽章上显示的文本
如果($fsb\U价格>$fsb\U限额\U价格){
$html.='
'.$fsb_徽章_文本'.''.'; 返回$html; } }
我的风格文件:fsb_badge_style.php。背景并没有从php变量$fsb_badge_color中获取值,这是主要问题

<?php
header('Content-type: text/css');
include('free-shipping-badge.php');     
?>
.fsb_badge_view{
    display: inline;
    padding: .3em .6em .3em;
    font-family: Arial;
    font-size: 10.5px;
    font-weight: bold;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    white-space: middle;
    vertical-align: baseline;
    border-radius: .25em;
    background-color:  <?php echo $fsb_badge_color; ?>;

}

.fsb_徽章_视图{
显示:内联;
填充:.3em.6em.3em;
字体系列:Arial;
字号:10.5px;
字体大小:粗体;
线高:1.5;
颜色:#fff;
文本对齐:居中;
空白:中间;
垂直对齐:基线;
边界半径:.25em;
背景色:;
}

正如@Tony Djukic所说,不能将PHP文件作为样式表排队,它不会处理PHP。不过,在标题中内联输出样式是可能的。例如:

function fsb_badge_style()
{
    echo "<style type=\"text/css\">.fsb_badge_view{background-color: ".$fsb_badge_color.";}</style>";
}
add_action('wp_head', 'fsb_badge_style', 100);
功能fsb_徽章_样式()
{
echo“.fsb_badge_view{背景色:“.$fsb_badge_color.”;}”;
}
增加行动(“wp_头”、“fsb_徽章风格”,100);
这将直接在标题中写入样式

<style type="text/css">.fsb_badge_view{background-color: #e7e7e7;}</style>
.fsb_徽章_视图{背景色:#e7e7e7;}

作为额外的好处,这也适用于可能未启用JavaScript的用户。

正如@Tony Djukic所说,不能将PHP文件作为样式表排队,它不会处理PHP。不过,在标题中内联输出样式是可能的。例如:

function fsb_badge_style()
{
    echo "<style type=\"text/css\">.fsb_badge_view{background-color: ".$fsb_badge_color.";}</style>";
}
add_action('wp_head', 'fsb_badge_style', 100);
功能fsb_徽章_样式()
{
echo“.fsb_badge_view{背景色:“.$fsb_badge_color.”;}”;
}
增加行动(“wp_头”、“fsb_徽章风格”,100);
这将直接在标题中写入样式

<style type="text/css">.fsb_badge_view{background-color: #e7e7e7;}</style>
.fsb_徽章_视图{背景色:#e7e7e7;}

作为额外的好处,这也适用于可能未启用JavaScript的用户。

我从未见过.php文件通过
wp\u register\u style()排队。
。我的建议是通过jQuery分配
背景颜色:
值,并使用脚本本地化传递该值。我从未见过.php文件通过
wp\u register\u style()
排队。我的建议是通过jQuery分配
背景颜色:
值,并使用脚本本地化传递该值。