Php 在Wordpress管理中使用Bootstrap-Rush Frisby的黑客
在构建Wordpress的第一个插件时,我遇到了Rush Frisby的Bootstrap hack,因此您可以在管理面板中使用Bootstrap,而不会与Wordpress管理核心样式冲突。您可以在这里找到它: 我已经按照他解释的方式在我的插件中实现了它。 您可以在以下位置在线查看我的代码: 这部分只有一个问题:Php 在Wordpress管理中使用Bootstrap-Rush Frisby的黑客,php,css,wordpress,twitter-bootstrap,less,Php,Css,Wordpress,Twitter Bootstrap,Less,在构建Wordpress的第一个插件时,我遇到了Rush Frisby的Bootstrap hack,因此您可以在管理面板中使用Bootstrap,而不会与Wordpress管理核心样式冲突。您可以在这里找到它: 我已经按照他解释的方式在我的插件中实现了它。 您可以在以下位置在线查看我的代码: 这部分只有一个问题: .bootstrap-wrapper { @import (less) url('bootstrap.min.css'); } 如果我从上面的代码中删除(less),下面的
.bootstrap-wrapper {
@import (less) url('bootstrap.min.css');
}
如果我从上面的代码中删除(less),下面的错误将消失,但是黑客没有按预期工作-引导程序没有加载到引导程序包装器中
首先,我从来没有真正使用过LESS,但我知道LESS的基本概念,以及它如何简化CSS的工作
然而,当运行我的插件并转到设置-自定义登录时,我看到以下错误:
我不知道该怎么办。我在网上搜索了答案,但我真的找不到解决办法,也找不到解决办法
有人知道如何解决这个问题吗?
-以及关于.map文件的简要说明
提前谢谢大家
对于不想访问Github的人,请参阅下面用于管理页面的代码
<?php
// Meaning of abbreviations:
// clsc = Custom login shortcode
// Runs when plugin is activated
register_activation_hook( PLUGIN_MAIN_FILE, 'clsc_install');
// Create new database fields
function clsc_install() {
$clsc_options = array(
'Login_link' => 'log-in/',
'Login_string' => 'Log in',
'Login_class' => '', // Default is empty to inherit theme styles
'Logout_link' => wp_logout_url( home_url()),
'Logout_string' => 'Log out',
'Logout_class' => '', // Default is empty to inherit theme styles
'Account_link' => 'my-account/',
'Account_string' => 'My Account',
'Account_class' => '' // Default is empty to inherit theme styles
);
add_option('clsc_options_array', $clsc_options, '', 'yes');
}
// Register settings for wordpress to handle all values
function admin_init_register_setting()
{
register_setting('wp_plugin_template-group', 'clsc_options_array');
}
add_action('admin_init','admin_init_register_setting');
// Create admin option page
function add_clsc_option_page() {
add_options_page(
'Custom Login', // The text to be displayed in the title tag
'Custom Login', // The text to be used for the menu
'administrator', // The capability required to display this menu
'custom-login-shortcodes', // The unique slug name to refer to this menu
'clsc_html_page'); // The function to output the page content
}
/* Call the html code */
add_action('admin_menu', 'add_clsc_option_page');
// Enqueue admin styles and scripts
function clsc_enqueue_scripts() {
global $wpdb;
$screen = get_current_screen();
if ( $screen->id != 'settings_page_custom-login-shortcodes' ) {
return; // exit if incorrect screen id
}
wp_enqueue_style( 'custom-shortcodes-styles', plugins_url( 'admin/css/admin_styles.css', dirname(__FILE__) ) );
wp_enqueue_style( 'bootstrap', plugins_url('admin/css/bootstrap.css', dirname(__FILE__) ) );
wp_enqueue_script('admin_js_bootstrap_hack', plugins_url('admin/scripts/bootstrap-hack.js', dirname(__FILE__) ) );
wp_enqueue_script('jquery', plugins_url('admin/scripts/jquery.min.js', dirname(__FILE__) ) );
}
add_action('admin_enqueue_scripts', 'clsc_enqueue_scripts' );
function clsc_html_page()
{
if(!current_user_can('manage_options'))
{
wp_die( __('You do not have sufficient permissions to access this page.','clsc') );
}
?>
<script type="text/javascript">
var default_logout = <?php echo json_encode( wp_logout_url( home_url()) ); ?>;
$(document).ready(function(){
$("#logout-default").click(function(){
$("#logout-field").val(default_logout);
});
});
</script>
<div class="wrap">
<form method="post" action="options.php">
<?php
$options = get_option('clsc_options_array');
settings_fields('wp_plugin_template-group');
do_settings_fields('wp_plugin_template-group');
?>
<div class="bootstrap-wrapper">
<div class="row">
<div class="col-md-12">
<h1><?php _e('Custom Login Shortcode','clsc'); ?></h1>
<p><?php _e('To use for shortcode:','clsc'); ?><br/><span class="shortcode-preview">[custom_login]</span></p>
</div>
</div>
<div class="row" id="login-content">
<div class="col-md-4">
<h5><?php _e('Log in link:','clsc'); ?></h5>
<input name="clsc_options_array[Login_link]" placeholder="<?php _e('Example: log-in/', 'clsc') ?>" class="form-control" type="text" value="<?php echo $options['Login_link']; ?>" />
</div>
<div class="col-md-4">
<h5><?php _e('Log in string:','clsc'); ?></h5>
<input name="clsc_options_array[Login_string]" placeholder="<?php _e('Example: Log in', 'clsc') ?>" class="form-control" type="text" value="<?php echo $options['Login_string']; ?>" />
</div>
<div class="col-md-4">
<h5><?php _e('Log in class:','clsc'); ?></h5>
<input name="clsc_options_array[Login_class]" placeholder="<?php _e('Example: login_style', 'clsc') ?>" class="form-control" type="text" value="<?php echo $options['Login_class']; ?>" />
</div>
</div>
<div class="row top-buffer" id="logout-content">
<div class="col-md-4">
<h5><?php _e('Log out link:','clsc'); ?></h5>
<input id="logout-field" name="clsc_options_array[Logout_link]" placeholder="<?php _e('Example: log-out/', 'clsc') ?>" class="form-control" type="text" value="<?php echo $options['Logout_link']; ?>" />
<input class="btn btn-default btn-xs" type="button" name="logout-default" id="logout-default" value="<?php _e('Use default logout link','clsc') ?>"/>
</div>
<div class="col-md-4">
<h5><?php _e('Log out string:','clsc'); ?></h5>
<input name="clsc_options_array[Logout_string]" placeholder="<?php _e('Example: Log out', 'clsc') ?>" class="form-control" type="text" value="<?php echo $options['Logout_string']; ?>" />
</div>
<div class="col-md-4">
<h5><?php _e('Log out class:','clsc'); ?></h5>
<input name="clsc_options_array[Logout_class]" placeholder="<?php _e('Example: logout_style', 'clsc') ?>" class="form-control" type="text" value="<?php echo $options['Logout_class']; ?>" />
</div>
</div>
<div class="row top-buffer" id="account-content">
<div class="col-md-4">
<h5><?php _e('Account link:','clsc'); ?></h5>
<input name="clsc_options_array[Account_link]" placeholder="<?php _e('Example: my-account/', 'clsc') ?>" class="form-control" type="text" value="<?php echo $options['Account_link']; ?>" />
</div>
<div class="col-md-4">
<h5><?php _e('Account string:','clsc'); ?></h5>
<input name="clsc_options_array[Account_string]" placeholder="<?php _e('Example: My Account', 'clsc') ?>" class="form-control" type="text" value="<?php echo $options['Account_string']; ?>" />
</div>
<div class="col-md-4">
<h5><?php _e('Account class:','clsc'); ?></h5>
<input name="clsc_options_array[Account_class]" placeholder="<?php _e('Example: account_style', 'clsc') ?>" class="form-control" type="text" value="<?php echo $options['Account_class']; ?>" />
</div>
</div>
</div>
<?php submit_button( __('Save Changes', 'clsc') ); ?>
</form>
</div>
<?php
}
?>
var default_logout=;
$(文档).ready(函数(){
$(“#注销默认值”)。单击(函数(){
$(“#注销字段”).val(默认的#注销);
});
});
[自定义登录]
建议:
出于开发目的使用小型CSS不是一个好主意,而且当CSS代码中出现错误时也很难调试&更可能的是,由于整个代码转换成一行,似乎根本没有结束,因此有时会出现解析错误
问题:
LESS
无法编译引导程序的精简版本是一个已知问题:
解析器可能会在某些不符合CSS的浏览器特定攻击中失败(错误消息可能因引导和/或更少版本而异)。通常的解决方法只是编译非精简版本(请注意,编译精简版本没有太大意义,因为编译的结果无论如何都不是精简的CSS)
@对于参考URL,请参见
解决方案:
好吧,问题似乎出在你缩小的bootstrap.min.css
文件上,尝试使用未精简的版本bootstrap.css
,你就不会有问题了。你得到的错误是关于你共享的css代码吗???对不起,是的!如果我删除(更少),错误就消失了,但它不起作用。我将更新我的问题。将(less)
更改为(lessjs)
,如果这样可以解决问题,请再次通知我。。!对您还可以访问Github并查看代码。我已经试过了你的建议,不幸的是它没有解决它。现在,另一个错误显示:“SyntaxError:expected')‘got'j'。为什么我要使用插件来提供主题较少的支持,而问题是如何在管理面板中使用引导和较少?