1. Инсталирайте следния модул: Rename wp-login.php, след това направете login варианта на вашия сайт.
2. Отворете functions.php файла на темата, която ползвате и напишете следните редове:
if (($_SERVER['PHP_SELF'] == '/wp-admin/index.php')and( !is_super_admin() )) { wp_redirect( home_url() ); exit(); }
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' ); function custom_override_checkout_fields( $fields ) { unset($fields['billing']['billing_first_name']); unset($fields['billing']['billing_last_name']); unset($fields['billing']['billing_company']); unset($fields['billing']['billing_address_1']); unset($fields['billing']['billing_address_2']); unset($fields['billing']['billing_city']); unset($fields['billing']['billing_postcode']); unset($fields['billing']['billing_country']); unset($fields['billing']['billing_state']); unset($fields['billing']['billing_phone']); unset($fields['order']['order_comments']); unset($fields['billing']['billing_address_2']); unset($fields['billing']['billing_postcode']); unset($fields['billing']['billing_company']); unset($fields['billing']['billing_last_name']); unset($fields['billing']['billing_email']); unset($fields['billing']['billing_city']); return $fields; }
function translate_woocommerce($translation, $text, $domain) { if ($domain == 'woocommerce') { switch ($text) { case 'SKU': $translation = 'Product Code'; break; case 'SKU:': $translation = 'Product Code:'; break; } } return $translation; } add_filter('gettext', 'translate_woocommerce', 10, 3);
Източник: https://gist.github.com/dannyconnolly/da6f1a2d95dc826ccdcd
Виртуалните ПОС терминали към авторизационната системата на БОРИКА осъществяват обмена на данни за транзакциите посредством цифрово подписани съобщения. За тази цел – виртуалните терминали изискват наличие на частни ключове и цифрови сертификати. Използваният криптографски алгоритъм е RSA, а хеширането – SHA-1. Частните ключове се генерират от клиента, след което с тях се създават заявки за сертификати, които се изпращат на обслужващата банка. Генерирането на частните ключове и заявките за сертификати може да стане с произволен инструмент- важно е да се спази изискването за формат и големина на ключа.
Един от най-популярните безплатни инструменти който може да генерира всички необходимо за реализацията на криптографските операции в Microsoft® Windows среда е Win32 OpenSSL:
Изглед на OpenSSL в Microsoft® Windows среда
Light версията е достатъчна за генерирането на частните ключове, създаването на заявките за сертификати и направата на браузърен сертификат описани по-долу. 32-битовата версия работи добре и на 64-битови платформи. Има удобен инсталатор.
Изисква се наличие на Microsoft Visual C++ 2008 Redistributable Package.
Win 32 ОpenSSL – Връзка към сайта с всички актуални версии.
1. Генериране на три частни ключа
Изпълняват се следните команди в Win32 Openssl среда:
genrsa -out privatekeyreal.key -des3 1024
- въвежда се парола (минимум четири символа)
genrsa -out privatekeytest.key -des3 1024
- въвежда се парола (минимум четири символа)
genrsa -out privatekeyetlog.key -des3 1024
- въвежда се парола (минимум четири символа)
В резултат от изпълнението трите команди – в работната директория на OpenSSL Win32 Toolkit се появяват три файла с разширениe *.key:
- privatekeyreal.key – частен ключ за виртуален ПОС терминал в реална система
- privatekeytest.key – частен ключ за виртуален ПОС терминал в тестова система
- privatekeyetlog.key – частен ключ за система за наблюдение на транзакции на виртуален ПОС терминал
Създадените два частни ключа privatekeyreal.key и privatekeytest.key трябва да се запишат на уеб сървъра.
Задължително да се защитят, така че да бъдат достъпни само за скрипта, който ще ги използва- програмния код на виртуалният пос терминал.
Най-лесният начин за защита е да се запишат двата ключа в директория различна от публично достъпната /public_html
В случай, че виртуалният ПОС терминал ще обслужва плащания за самолетни билети, коли под наем (rent-a-car) или резервации чрез системата на
amadeus България – e-Power Amadeus Internet Booking Engine, частният ключ трябва да бъдат се именува epowerPRIVATE.key
2. Генериране на три заявки за сертификати
req -new -key privatekeyreal.key -out sitenamereal.csr
- въвежда се паролата зададена при генерирането на частният ключ
req -new -key privatekeytest.key -out sitenametest.csr
- въвежда се паролата зададена при генерирането на частният ключ
req -new -key privatekeyetlog.key -out sitenameetlog.csr
- въвежда се паролата зададена при генерирането на частният ключ
3. Изпращане на заявките за сертификати на обслужващата банка за подпис
Трите заявки за сертификати от т.2 се изпращат на обслужващата банка за подпис:
- sitenamereal.csr – заявка за сертификат за реалната система
- sitenametest.csr – заявка за сертификат за тестовата система
- sitenameetlog.csr – заявка за сертификат за системата eTlog
3а. В отговор на изпратените заявки, банката трябва да върне три подписани сертификата:
- sitenamereal.cеr – сертификат за реалната система
- sitenametest.cеr – сертификат за тестовата система
- sitenameetlog.cеr – сертификат за системата eTlog
4. Сертификат за браузър за наблюдение на транзакции
pkcs12 -export -inkey privatekeyetlog.key -in sitenameetlog.cer -out sitenameetlog.p12
Получният файл sitenameetlog.p12 се импортира в браузър на клиента, който ще наблюдава транзакции чрез eltog система.
Имената на файловете в примерите по-горе не са задължителни. Разширенията на файловете- също, но от гледна точка на удобството е хубаво да се указват по описания в примерите начин.
След успешно изпълнение на точки от 1 до 4 може да се пристъпи към внедряването на виртуалният ПОС терминал в уеб сайта за който е предназначен.
Документацията с подробно описание на виртуалният ПОС терминал към авторизационната система на БОРИКА може да бъде получена от обслужващата банка, която предоставя виртуалният ПОС терминал.
В общия случай – банките предоставят упътването след сключване на договор.
// Add Featured Image to Post $image_url = 'http://s.wordpress.org/style/images/wp-header-logo.png'; // Define the image URL here $upload_dir = wp_upload_dir(); // Set upload folder $image_data = file_get_contents($image_url); // Get image data $filename = basename($image_url); // Create image file name // Check folder permission and define file location if( wp_mkdir_p( $upload_dir['path'] ) ) { $file = $upload_dir['path'] . '/' . $filename; } else { $file = $upload_dir['basedir'] . '/' . $filename; } // Create the image file on the server file_put_contents( $file, $image_data ); // Check image file type $wp_filetype = wp_check_filetype( $filename, null ); // Set attachment data $attachment = array( 'post_mime_type' => $wp_filetype['type'], 'post_title' => sanitize_file_name( $filename ), 'post_content' => '', 'post_status' => 'inherit' ); // Create the attachment $attach_id = wp_insert_attachment( $attachment, $file, $post_id ); // Include image.php require_once(ABSPATH . 'wp-admin/includes/image.php'); // Define attachment metadata $attach_data = wp_generate_attachment_metadata( $attach_id, $file ); // Assign metadata to attachment wp_update_attachment_metadata( $attach_id, $attach_data ); // And finally assign featured image to post set_post_thumbnail( $post_id, $attach_id );
// allow BGN for WooCommerce and PayPal add_filter( 'woocommerce_currencies', 'add_bgn_currency' ); function add_bgn_currency( $currencies ) { $currencies['BGN'] = __( 'Bulgarian Lev (лв.)', 'woocommerce' ); return $currencies; } add_filter('woocommerce_currency_symbol', 'add_bgn_currency_symbol', 10, 2); function add_bgn_currency_symbol( $currency_symbol, $currency ) { switch( $currency ) { case 'BGN': $currency_symbol = 'лв.'; break; } return $currency_symbol; } // allow BGN for WooCommerce and PayPal add_filter( 'woocommerce_paypal_supported_currencies', 'add_bgn_paypal_valid_currency' ); function add_bgn_paypal_valid_currency( $currencies ) { array_push ( $currencies , 'BGN' ); return $currencies; } // Convert BGN to EUR for PayPal payments add_filter('woocommerce_paypal_args', 'convert_bgn_to_eur'); function convert_bgn_to_eur($paypal_args){ if ( $paypal_args['currency_code'] == 'BGN'){ $convert_rate = 1.955; //set the converting rate $paypal_args['currency_code'] = 'EUR'; //change BGN to EUR $i = 1; while (isset($paypal_args['amount_' . $i])) { $paypal_args['amount_' . $i] = round( $paypal_args['amount_' . $i] / $convert_rate, 2); ++$i; } if ( $paypal_args['discount_amount_cart'] > 0 ) { $paypal_args['discount_amount_cart'] = round( $paypal_args['discount_amount_cart'] / $convert_rate, 2); } } return $paypal_args; }
Отворете functions.php на Вашата тема и поставете следния код:
require get_template_directory() . '/widgets/agenda.php';
agenda.php
<?php class agenda_widget extends WP_Widget { function agenda_widget() { parent::WP_Widget(false, $name = 'Get posts from different post types'); } function widget($args, $instance){ extract( $args ); $title = apply_filters('widget_title', $instance['title']); $posttype = $instance['posttype'] ? $instance['posttype'] : 'post'; $orderby = $instance['orderby'] ? $instance['orderby'] : 'ID'; $orderbyad = $instance['orderbyad'] ? $instance['orderbyad'] : 'ASC'; $limit = $instance['limit'] ? $instance['limit'] : 5; $bottom = $instance['bottom']; $args = array( 'posts_per_page' => $limit, 'orderby' => $orderby, 'order'=>$orderbyad, 'post_type' => $posttype); query_posts($args); $trainingen = get_posts( $args ); ?> <?php echo $before_widget; ?> <div class="widget-agenda"> <h3><?php echo $title ?></h3> <ul> <?php foreach ($trainingen as $training): ?> <?php if($training->dates) $dates = json_decode($training->dates) ?> <li><a href="<?php echo get_permalink($training->ID)?>"><?php //echo date_i18n(get_option("date_format"), strtotime($dates[0])) ?><?php _e($training->post_title); ?></a></li> <?php endforeach; ?> </ul> </div> <?php echo $after_widget; ?> <?php } function update($new_instance, $old_instance){ $instance = $old_instance; $instance['title'] = strip_tags($new_instance['title']); $instance['posttype'] = strip_tags($new_instance['posttype']); $instance['orderby'] = strip_tags($new_instance['orderby']); $instance['orderbyad'] = strip_tags($new_instance['orderbyad']); $instance['limit'] = strip_tags($new_instance['limit']); return $instance; } function form($instance){ $title = esc_attr($instance['title']); $posttype = esc_attr($instance['posttype']); $orderby = esc_attr($instance['orderby']); $orderbyad = esc_attr($instance['orderbyad']); $limit = esc_attr($instance['limit']); ?> <p> <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /> </p> <p> <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Select Post Type:'); ?></label> <? $args = array( 'public' => true, '_builtin' => false ); $output = 'names'; // names or objects, note names is the default $operator = 'and'; // 'and' or 'or' $post_types = get_post_types( $args, $output, $operator ); ?> <select id="<?php echo $this->get_field_id('posttype'); ?>" name="<?php echo $this->get_field_name('posttype'); ?>"> <option value="post" <? if ($posttype == 'post'){ ?>selected<? } ?>>post</option> <? foreach ( $post_types as $post_type ) { ?> <option value="<?=$post_type;?>" <? if ($posttype == $post_type){ ?>selected<? } ?>><?=$post_type;?></option> <? } ?> </select></br> <label for="<?php echo $this->get_field_id('orderby'); ?>"><?php _e('Order by'); ?></label>: <select id="<?php echo $this->get_field_id('orderby'); ?>" name="<?php echo $this->get_field_name('orderby'); ?>"> <option value="ID" <? if ($orderby == 'ID'){ ?>selected<? } ?>>ID</option> </select></br> <label for="<?php echo $this->get_field_id('orderbyad'); ?>"><?php _e('Order'); ?></label>: <select id="<?php echo $this->get_field_id('orderbyad'); ?>" name="<?php echo $this->get_field_name('orderbyad'); ?>"> <option value="ASC" <? if ($orderbyad == 'ASC'){ ?>selected<? } ?>>ASC</option> <option value="DESC" <? if ($orderbyad == 'DESC'){ ?>selected<? } ?>>DESC</option> </select> </p> <p> <label for="<?php echo $this->get_field_id('limit'); ?>"><?php _e('Limit'); ?></label> <input class="tiny-text" id="<?php echo $this->get_field_id('limit'); ?>" name="<?php echo $this->get_field_name('limit'); ?>" type="number" value="<?php echo $limit; ?>" /> </p> <?php } } add_action('widgets_init', create_function('', 'return register_widget("agenda_widget");')); ?>
Резултата от скрипта ще бъде следния:
Влезте в директорията на Вашата тема и поставете кода във файла functions.php:
require get_template_directory() . '/theme-options.php';
theme-options.php
<?php $themename = "Theme Option"; $shortname = "nt"; $categories = get_categories('hide_empty=0&orderby=name'); $wp_cats = array(); foreach ($categories as $category_list ) { $wp_cats[$category_list->cat_ID] = $category_list->cat_name; } array_unshift($wp_cats, "Choose a category"); $options = array ( array( "name" => $themename." Options", "type" => "title"), array( "name" => "General", "type" => "section"), array( "type" => "open"), array( "name" => "Logo URL", "desc" => "Enter the link to your logo image", "id" => $shortname."_logo", "type" => "text", "std" => ""), array( "name" => "Portfolio", "desc" => "Check this option to turn on Portfolio Type", "id" => $shortname."_portfolio", "type" => "checkbox", "std" => ""), array( "name" => "Clone post", "desc" => "Check this option to turn on/off Clone Post option", "id" => $shortname."_clonepost", "type" => "checkbox", "std" => ""), array( "name" => "Google Fonts", "desc" => "Activate Google fonts integration", "id" => $shortname."_googlefonts", "type" => "checkbox", "std" => ""), array( "type" => "close"), array( "name" => "Theme Styles", "type" => "section"), array( "type" => "open"), array( "name" => "Colour Scheme", "desc" => "Select the colour scheme for the theme", "id" => $shortname."_color_scheme", "type" => "select", "options" => array("blue", "red", "green"), "std" => "blue"), array( "name" => "Colour Scheme Panel", "desc" => "Select the colour scheme for Panel", "id" => $shortname."_color_scheme_admin", "type" => "select", "options" => array("white", "black"), "std" => "white"), array( "name" => "Background color", "desc" => "", "id" => $shortname."_backgroundcolor", "type" => "text", "std" => ""), array( "name" => "Menu color", "desc" => "", "id" => $shortname."_menucolor", "type" => "text", "std" => ""), array( "name" => "Menu color hover", "desc" => "", "id" => $shortname."_menucolorhover", "type" => "text", "std" => ""), array( "name" => "Custom CSS", "desc" => "Want to add any custom CSS code? Put in here, and the rest is taken care of. This overrides any other stylesheets. eg: a.button{color:green}", "id" => $shortname."_custom_css", "type" => "textarea", "std" => ""), array( "type" => "close"), array( "name" => "Homepage", "type" => "section"), array( "type" => "open"), array( "name" => "Homepage header image", "desc" => "Enter the link to an image used for the homepage header.", "id" => $shortname."_header_img", "type" => "text", "std" => ""), array( "name" => "Homepage featured category", "desc" => "Choose a category from which featured posts are drawn", "id" => $shortname."_feat_cat", "type" => "select", "options" => $wp_cats, "std" => "Choose a category"), array( "type" => "close"), array( "name" => "Footer", "type" => "section"), array( "type" => "open"), array( "name" => "Position Fixed", "desc" => "Check this option to make footer position fixed", "id" => $shortname."_footerfixed", "type" => "checkbox", "std" => ""), array( "name" => "Footer copyright text", "desc" => "Enter text used in the right side of the footer. It can be HTML", "id" => $shortname."_footer_text", "type" => "textarea", "std" => ""), array( "name" => "Google Analytics Code", "desc" => "You can paste your Google Analytics or other tracking code in this box. This will be automatically added to the footer.", "id" => $shortname."_ga_code", "type" => "textarea", "std" => ""), array( "name" => "Custom Favicon", "desc" => "A favicon is a 16x16 pixel icon that represents your site; paste the URL to a .ico image that you want to use as the image", "id" => $shortname."_favicon", "type" => "text", "std" => get_bloginfo('url') ."/favicon.ico"), array( "name" => "Feedburner URL", "desc" => "Feedburner is a Google service that takes care of your RSS feed. Paste your Feedburner URL here to let readers see it in your website", "id" => $shortname."_feedburner", "type" => "text", "std" => get_bloginfo('rss2_url')), array( "type" => "close") ); function getmoonstyles(){ ?> <style > <? if (get_option( 'nt_footerfixed' )) { ?> .site-footer { position:fixed; z-index: 9999; } .site-content { margin-bottom: 60px; margin-top: 72px; } <? }else{ ?>.site-footer { position: inherit !important; } .site-content { margin-top: 72px; } <? } ?> </style> <? } function mytheme_add_admin() { global $themename, $shortname, $options; if ( $_GET['page'] == basename(__FILE__) ) { if ( 'save' == $_REQUEST['action'] ) { foreach ($options as $value) { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } foreach ($options as $value) { if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id'] ] ); } else { delete_option( $value['id'] ); } } header("Location: admin.php?page=theme-options.php&saved=true"); die; } else if( 'reset' == $_REQUEST['action'] ) { foreach ($options as $value) { delete_option( $value['id'] ); } header("Location: admin.php?page=theme-options.php&reset=true"); die; } } add_menu_page($themename, $themename, 'administrator', basename(__FILE__), 'mytheme_admin'); } function mytheme_add_init() { $file_dir=get_bloginfo('template_directory'); //if (get_option( 'nt_color_scheme_admin' ) == 'white') //{ wp_enqueue_style("functions", $file_dir."/functions/functions_wt.css", false, "1.0", "all"); $logostyle = 'logo_wt.png'; //}else{ // wp_enqueue_style("functions", $file_dir."/functions/functions_bk.css", false, "1.0", "all"); // $logostyle = 'logo_bk.png'; // } wp_enqueue_script("rm_script", $file_dir."/functions/rm_script.js", false, "1.0"); } function mytheme_admin() { global $themename, $shortname, $options; $i=0; if ( $_REQUEST['saved'] ) echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings saved.</strong></p></div>'; if ( $_REQUEST['reset'] ) echo '<div id="message" class="updated fade"><p><strong>'.$themename.' settings reset.</strong></p></div>'; // if (get_option( 'nt_color_scheme_admin' ) == 'white') //{ $logostyle = 'logo_wt.png'; //}else{ // $logostyle = 'logo_bk.png'; // } ?> <div class="wrap rm_wrap"> <div class="themelogo"><img src="<?=get_template_directory_uri() . '/functions/images/'.$logostyle;?>"></div> <h2 class="zsd"><?php echo $themename; ?></h2> <div class="rm_opts"> <form method="post"> <?php foreach ($options as $value) { switch ( $value['type'] ) { case "open": ?> <?php break; case "close": ?> </div> </div> <br /> <?php break; case "title": ?> <div class="zsd2">To easily use the <?php echo $themename;?> theme, you can use the menu below.</div> <?php break; case 'text': ?> <div class="rm_input rm_text"> <label for="<?php echo $value['id']; ?>"><?php echo $value['name']; ?></label> <input name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" type="<?php echo $value['type']; ?>" value="<?php if ( get_settings( $value['id'] ) != "") { echo stripslashes(get_settings( $value['id']) ); } else { echo $value['std']; } ?>" /> <small><?php echo $value['desc']; ?></small><div class="clearfix"></div> </div> <?php break; case 'textarea': ?> <div class="rm_input rm_textarea"> <label for="<?php echo $value['id']; ?>"><?php echo $value['name']; ?></label> <textarea name="<?php echo $value['id']; ?>" type="<?php echo $value['type']; ?>" cols="" rows=""><?php if ( get_settings( $value['id'] ) != "") { echo stripslashes(get_settings( $value['id']) ); } else { echo $value['std']; } ?></textarea> <small><?php echo $value['desc']; ?></small><div class="clearfix"></div> </div> <?php break; case 'select': ?> <div class="rm_input rm_select"> <label for="<?php echo $value['id']; ?>"><?php echo $value['name']; ?></label> <select name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>"> <?php foreach ($value['options'] as $option) { ?> <option <?php if (get_settings( $value['id'] ) == $option) { echo 'selected="selected"'; } ?>><?php echo $option; ?></option><?php } ?> </select> <small><?php echo $value['desc']; ?></small><div class="clearfix"></div> </div> <?php break; case "checkbox": ?> <div class="rm_input rm_checkbox"> <label for="<?php echo $value['id']; ?>"><?php echo $value['name']; ?></label> <?php if(get_option($value['id'])){ $checked = "checked=\"checked\""; }else{ $checked = "";} ?> <input type="checkbox" name="<?php echo $value['id']; ?>" id="<?php echo $value['id']; ?>" value="true" <?php echo $checked; ?> /> <small><?php echo $value['desc']; ?></small><div class="clearfix"></div> </div> <?php break; case "section": $i++; ?> <div class="rm_section"> <div class="rm_title"><h3><img src="<?php bloginfo('template_directory')?>/functions/images/trans.png" class="inactive" alt="""><?php echo $value['name']; ?></h3><span class="submit"><input name="save<?php echo $i; ?>" type="submit" value="Save changes" /> </span><div class="clearfix"></div></div> <div class="rm_options" style=" display:none;"> <?php break; } } ?> <input type="hidden" name="action" value="save" /> </form> <form method="post"> <p class="submit"> <input name="reset" type="submit" value="Reset Theme Options" /> <input type="hidden" name="action" value="reset" /> </p> </form> <div class="fns">Panel & Theme creation by <a href="http://atanasfilipov.com/" target="_blank">Atanasfilipov.com</a></div> </div> <?php } ?> <?php add_action('admin_init', 'mytheme_add_init'); add_action('admin_menu', 'mytheme_add_admin'); ?>
Създайте папка functions, и в нея създайте следните файлове: functions_bk.css, functions_wt.css, rm_script.js:
functions_bk.css
.rm_wrap, .rm_wrap h2, .rm_wrap p, .rm_options { background: #000000; color: #ffffff; padding: 20px; } .rm_wrap h2 { font-size: 35px; } .rm_wrap { width: 80%; margin-left: auto; margin-right: auto; } .fns { font-size: 10px; text-align: center; } .fns a { color: #678fbf; text-decoration: none; } .fns a:hover { text-decoration: underline; } .zsd{ text-align:center; } .zsd2{ margin-bottom:10px; text-transform: lowercase; } .rm_opts{ text-align:left; } .rm_section{ border:1px solid #333; border-bottom:0; background:#f9f9f9; } .rm_opts label{ font-size:16px; width:200px; display:block; float:left; } .rm_input { padding:30px 10px; border-bottom:1px solid #333; } .rm_opts small{ display:block; float:right; width:40%; color:#ffffff; font-size:14px; text-align:left; } .rm_opts input[type="text"], .rm_opts select{ width:280px; font-size:12px; padding:4px; color:#333; line-height:1em; background:#f3f3f3; } .rm_input input:focus, .rm_input textarea:focus{ background:#fff; } .rm_input textarea{ width:280px; height:175px; font-size:12px; padding:4px; color:#333; line-height:1.5em; background:#f3f3f3; } .rm_title h3 { cursor:pointer; font-size:20px; text-transform: uppercase; margin:0; font-weight:bold; color:#ffffff; float:left; width:80%; padding:14px 4px; } .rm_title{ cursor:pointer; background:url('images/backtheme.png'); padding:0; } .rm_title h3 img.inactive{ margin:-8px 10px 0 2px; width:32px; height:32px; background:url('images/pointer.png') no-repeat 0 0; float:left; -moz-border-radius:6px; } .rm_title h3 img.active{ margin:-8px 10px 0 2px; width:32px; height:32px; background:url('images/pointer.png') no-repeat 0 -32px; float:left; } .rm_title{ border:1px solid #222222; } .rm_title:hover{ border:1px solid #678fc0; } .rm_title span.submit{ display: block; float: right; margin: 0; padding: 0; width: 15%; padding: 14px 0; text-align: center; } .submit input { background: #222222; color: #f25757; border: #2E2D2D 1px solid; font-size: 14px; padding-left: 10px; padding-right: 10px; -moz-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; } .submit input:hover { cursor: pointer; cursor: hand; background: #000000; } #message strong{ color:#e51865; } .rm_wrap #message p { margin: 0 !important; } .clearfix{ clear:both; } .rm_table th, .rm_table td{ border:1px solid #bbb; padding:10px; text-align:center; } .themelogo{ text-align:left; position:absolute; top:0; } .themelogo img{ height:150px; } .rm_table th, .rm_table td.feature{ border-color:#888; } .notice, div.error, div.updated { background: none; } .notice-success, div.updated { border-left-color: #fb2b79; background: #fb2b79; } .notice-success, div.updated p { padding-left:20px; }
functions_wt.css
.rm_wrap, .rm_wrap h2, .rm_wrap p, .rm_options { background: #ffffff; color: #000000; padding: 20px; } .rm_wrap h2 { font-size: 35px; } .rm_wrap { width: 80%; margin-left: auto; margin-right: auto; } .fns { font-size: 10px; text-align: center; } .fns a { color: #678fbf; text-decoration: none; } .fns a:hover { text-decoration: underline; } .zsd{ text-align:center; } .zsd2{ margin-bottom:10px; text-transform: lowercase; } .rm_opts{ text-align:left; } .rm_section{ border-bottom:0; background:#f9f9f9; } .rm_opts label{ font-size:16px; width:200px; display:block; float:left; } .rm_input { padding:30px 10px; border: #e9e9e9 1px solid; } .rm_opts small{ display:block; float:right; width:40%; color:#000000; font-size:14px; text-align:left; } .rm_opts input[type="text"], .rm_opts select{ width:280px; font-size:12px; padding:4px; color:#333; line-height:1em; background:#f3f3f3; } .rm_input input:focus, .rm_input textarea:focus{ background:#fff; } .rm_input textarea{ width:280px; height:175px; font-size:12px; padding:4px; color:#333; line-height:1.5em; background:#f3f3f3; } .rm_title h3 { cursor:pointer; font-size:20px; text-transform: uppercase; margin:0; font-weight:bold; color:#000000; float:left; width:80%; padding:14px 4px; } .rm_title{ cursor:pointer; background:url('images/backtheme_wt.png'); padding:0; } .rm_title h3 img.inactive{ margin:-8px 10px 0 2px; width:32px; height:32px; background:url('images/pointer.png') no-repeat 0 0; float:left; -moz-border-radius:6px; } .rm_title h3 img.active{ margin:-8px 10px 0 2px; width:32px; height:32px; background:url('images/pointer.png') no-repeat 0 -32px; float:left; } .rm_title{ border:1px solid #e9e9e9; } .rm_title:hover{ border:1px solid #678fc0; } .rm_title span.submit{ display: block; float: right; margin: 0; padding: 0; width: 15%; padding: 14px 0; text-align: center; } .submit input { background: #fff; color: #f25757; border: #e9e9e9 1px solid; font-size: 14px; padding-left: 10px; padding-right: 10px; -moz-border-radius: 5px 5px 5px 5px; border-radius: 5px 5px 5px 5px; font-weight:bold; } .submit input:hover { cursor: pointer; cursor: hand; background: #e9e9e9; } #message strong{ color:#e51865; } .rm_wrap #message p { margin: 0 !important; } .clearfix{ clear:both; } .rm_table th, .rm_table td{ border:1px solid #bbb; padding:10px; text-align:center; } .themelogo{ text-align:left; position:absolute; top:0; } .themelogo img{ height:150px; } .rm_table th, .rm_table td.feature{ border-color:#888; } .notice, div.error, div.updated { background: none; } .notice-success, div.updated { border-left-color: #fb2b79; background: #fb2b79; } .notice-success, div.updated p { padding-left:20px; }
rm_script.js
jQuery(document).ready(function(){ jQuery('.rm_options').slideUp(); jQuery('.rm_section h3').click(function(){ if(jQuery(this).parent().next('.rm_options').css('display')=='none') { jQuery(this).removeClass('inactive'); jQuery(this).addClass('active'); jQuery(this).children('img').removeClass('inactive'); jQuery(this).children('img').addClass('active'); } else { jQuery(this).removeClass('active'); jQuery(this).addClass('inactive'); jQuery(this).children('img').removeClass('active'); jQuery(this).children('img').addClass('inactive'); } jQuery(this).parent().next('.rm_options').slideToggle('slow'); }); });
И последно, свалете и картинките към скрипта и ги поставете в директорията на Вашата тема/functions/images/. Свали картинките от тук.
// Remove WP Version From Styles add_filter( 'style_loader_src', 'sdt_remove_ver_css_js', 9999 ); // Remove WP Version From Scripts add_filter( 'script_loader_src', 'sdt_remove_ver_css_js', 9999 ); // Function to remove version numbers function sdt_remove_ver_css_js( $src ) { if ( strpos( $src, 'ver=' ) ) $src = remove_query_arg( 'ver', $src ); return $src; }