×

РАБОТНО ВРЕМЕ

Пон. - Пет. - 9:00 - 18:00
Събота и Неделя само с уговорени срещи!

WORK TIME

Mon-Fri 9:00AM – 6:00AM
Saturday and Sunday only with appointments!

ТЕЛЕФОН: 0888 898 797, EMAIL: office@ait-webdesign.com, SKYPE: ait.solutions
  • ПОДДРЪЖКА

AIT WEB DESIGN - изработка на сайт и СЕО оптимизация

Изработка на сайт, уеб дизайн, електронни магазини, софтуер по поръчка, лого дизайн, визитни картички, банери, каталози и графичен дизайн.

+359 888 898 797
Email: office@ait-webdesign.com

AIT Web Design
Хасково, ул. Хан Аспарух 9 - 11

  • НАЧАЛО
  • УСЛУГИ
    • УЕБ САЙТ ИЗРАБОТВАНЕ
    • ПОДДРЪЖКА НА WORDPRESS САЙТ
    • ЕЛЕКТРОННИ МАГАЗИНИ
    • ХОСТИНГ И ДОМЕЙН
    • ПРЕВОД НА УЕБ СТРАНИЦИ
    • ИЗРАБОТКА НА ЛОГО
    • ОПТИМИЗАЦИЯ НА САЙТ
    • СОФТУЕР ПО ПОРЪЧКА
    • БЕЗПЛАТЕН САЙТ
  • ЗА НАС
  • ПОРТФОЛИО
  • РЕФЕРЕНЦИИ
  • БЛОГ
  • КОНТАКТИ
НАПРАВЕТЕЗАПИТВАНЕ
  • Home
  • Код оптимизация
  • Archive from category "Код оптимизация"
  • Page 2
08.05.2025

Category: Код оптимизация

Как да премахнем CSS и Javascript версията в WordPress

  • 0
afilipov
Thursday, 30 June 2016 / Published in Wordpress, Код оптимизация
// 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;
}

Как да направим нов филтър в WordPress администрацията по custom taxonomy и в custom post type

  • 0
afilipov
Thursday, 30 June 2016 / Published in Wordpress, Код оптимизация
add_action('restrict_manage_posts','my_restrict_manage_posts');

function my_restrict_manage_posts() {
			global $typenow;

			if ($typenow=='job_listing'){
                         $args = array(
                             'show_option_all' => "Show All Cities",
                             'taxonomy'        => 'listing_cities',
                             'name'               => 'listing_cities'

                         );
				wp_dropdown_categories($args);
                        }
		}
add_action( 'request', 'my_request' );
function my_request($request) {
	if (is_admin() && $GLOBALS['PHP_SELF'] == '/wp-admin/edit.php' && isset($request['post_type']) && $request['post_type']=='job_listing') {
		$request['listing_cities'] = get_term($request['listing_cities'],'listing_cities')->name;
	}
	return $request;
}

Как да си направим контактна форма в WordPress без инсталиране на модул

  • 0
afilipov
Sunday, 26 June 2016 / Published in Wordpress, Код оптимизация

Send email

$data = @$_POST;
 
$err = array();
if(!empty($_POST)){
 
    if(empty($_POST["your_name"])){
        $err["your_name"] = true;
    }
  
    if(empty($_POST["your_email"])){
        $err["your_email"] = true;
    }
 
    if(empty($_POST["your_subject"])){
        $err["your_subject"] = true;
    }
  
    if(empty($_POST["your_message"])){
        $err["your_message"] = true;
    }
 
  
    if(empty($err)){
        $your_name = strip_tags($_POST["your_name"]);
        $your_company = strip_tags($_POST["your_company"]);
        $your_phone = strip_tags($_POST["your_phone"]);
        $your_email = strip_tags($_POST["your_email"]);
        $your_subject = strip_tags($_POST["your_subject"]);
        $your_message = strip_tags($_POST["your_message"]);
  
        $caption = "Contactform";
        $admin_email = get_option("admin_email");
  
        ob_start();
        include("template-contact-mail.php");
        $mail_content = ob_get_contents();
        ob_end_clean() ;
  
        $headers = 'Content-Type: text/html; charset=UTF-8'.'\r\n';
        $headers .= 'From: '.$your_name.' <'.$your_email.'>' . "\r\n";
  
        $success = wp_mail($admin_email, $caption, $mail_content, $headers);
 
        header("Location: ".get_permalink(PAGE_ID_SUCCESS_CONTACT)); die;
    }
}

<form action="" method="post" class="wpcf7-form">
    <p<?php if(!empty($err["your_name"])): ?> class="err"<?php endif; ?>>
        <label><?php _e("Your name") ?> (*):</label>
        <span class="wpcf7-form-control-wrap"><input type="text" name="your_name" value="<?php echo $data["your_name"] ?>" size="40" class="wpcf7-form-control wpcf7-text" /></span>
    </p>
    <p<?php if(!empty($err["your_company"])): ?> class="err"<?php endif; ?>>
        <label><?php _e("Company") ?>:</label>
        <span class="wpcf7-form-control-wrap"><input type="text" name="your_company" value="<?php echo $data["your_company"] ?>" size="40" class="wpcf7-form-control wpcf7-text" /></span>
    </p>
    <p<?php if(!empty($err["your_phone"])): ?> class="err"<?php endif; ?>>
        <label><?php _e("Phone") ?>:</label>
        <span class="wpcf7-form-control-wrap"><input type="text" name="your_phone" value="<?php echo $data["your_phone"] ?>" size="40" class="wpcf7-form-control wpcf7-text" /></span>
    </p>
    <p<?php if(!empty($err["your_email"])): ?> class="err"<?php endif; ?>>
        <label><?php _e("Email") ?> (*):</label>
        <span class="wpcf7-form-control-wrap"><input type="email" name="your_email" value="<?php echo $data["your_email"] ?>" size="40" class="wpcf7-form-control wpcf7-text" /></span>
    </p>
    <p<?php if(!empty($err["your_subject"])): ?> class="err"<?php endif; ?>>
        <label><?php _e("Subject") ?> (*):</label>
        <span class="wpcf7-form-control-wrap"><input type="text" name="your_subject" value="<?php echo $data["your_subject"] ?>" size="40" class="wpcf7-form-control wpcf7-text" /></span>
    </p>
    <p<?php if(!empty($err["your_message"])): ?> class="err"<?php endif; ?>>
        <label><?php _e("Message") ?> (*):</label>
        <span class="wpcf7-form-control-wrap"><textarea name="your_message" cols="40" rows="10" class="wpcf7-form-control wpcf7-textarea"><?php echo $data["your_message"] ?></textarea></span>
    </p>
 
    <p>
        <input type="submit" value="submit" class="wpcf7-form-control wpcf7-submit" />
    </p>
</form>

template-contact-mail.php

<br />Onderwerp: <?php echo $caption ?>
<br />
<br />NAME:
<br /><?php echo $your_name ?>
<br />
<br />COMPANY:
<br /><?php echo $your_company ?>
<br />
<br />PHONE:
<br /><?php echo $your_phone ?>
<br />
<br />E-MAIL ADDRESS:
<br /><?php echo $your_email ?>
<br />
<br />SUBJECT:
<br /><?php echo $your_subject ?>
<br />
<br />MESSAGE:
<br /><?php echo $your_message ?>
<br />
<br />--
<br />atanasfilipov.com

Sticky footer или как да задържим footer-а в долната част на страницата

  • 0
afilipov
Sunday, 26 June 2016 / Published in CSS, Код оптимизация
<div id="container">
   <div id="header"></div>
   <div id="body"></div>
   <div id="footer"></div>
</div>
html,body {margin: 0; padding: 0; height: 100%}
#container {min-height: 100%; position: relative}
#body {padding-bottom: 60px;}
#footer {position: absolute; bottom: 0; width: 100%; height: 60px}

Media queries

  • 0
afilipov
Sunday, 26 June 2016 / Published in CSS, Код оптимизация

HTML head

<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=1">

style.css

@media screen and (max-width:979px){
    ....
}
 
@media screen and (min-width:980px){
    ....
}
 
@media screen and (min-width:765px) and (max-width:980px){
    ....
}

Custom Пермалинкове за йерархични таксономии

  • 0
afilipov
Friday, 24 June 2016 / Published in Wordpress, Код оптимизация

Индекс на базата ( http://example.com/faq/ ) [Индекс на цялата база]

  • Основна категория ( http://example.com/faq/category/ ) [Индекс на Основната категория]
    • Публикация в основната категория ( http://example.com/faq/category/post-1-slug/ ) [Преглед на Публикация 1]
    • Под-категория ( http://example.com/faq/category/sub-category/ ) [Индекс на под-категорията]
      • Публикация в под-категорията ( http://example.com/faq/category/sub-category/post-2-slug/ ) [Преглед на Публикация 2]
  • Друга основна категория ( http://example.com/faq/another-category/ ) [Индекс на другата основна категория]

Всичко изглежда нормално(като структура на линковете) за нормалния потребител, обаче WordPress е на друго мнение по въпроса Вместо линк като http://example.com/faq/category/  ние ще можем да видим индекса на основната категория на линк от рода на http://example.com/faq-category/category/. Което както виждате не съвпада съвсем с първоначалната идея. За да оправим този проблем трябва да прибегнем до добавянето на няколко специално написани Permalink правила и функции.

Първата стъпка е да регистрираме новия пост тип(Custom Post Type). Това се случва със следната функция:

 

<?php

add_action( 'init', 'register_faq_post_type' );
function register_faq_post_type() {
	register_post_type( 'faq',
		array(
			'labels' => array(
				'name' => 'Frequently Asked Questions',
				'menu_name' => 'FAQ Manager',
				'singular_name' => 'Question',
				'all_items' => 'All Questions'
			),
			'public' => true,
			'publicly_queryable' => true,
			'show_ui' => true,
			'show_in_menu' => true,
			'show_in_nav_menus' => true,
			'menu_position ' => 20,
			'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'comments', 'post-formats', 'revisions' ),
			'hierarchical' => false,
			'has_archive' => 'faq',
			'rewrite' => array( 'slug' => 'faq-item', 'hierarchical' => true, 'with_front' => false )
		)
	);

	register_taxonomy( 'faq-category', array( 'faq' ),
		array(
			'labels' => array(
				'name' => 'FAQ Categories',
				'menu_name' => 'FAQ Categories',
				'singular_name' => 'FAQ Category',
				'all_items' => 'All Categories'
			),
			'public' => true,
			'hierarchical' => true,
			'show_ui' => true,
			'rewrite' => array( 'slug' => 'faq-category', 'hierarchical' => true, 'with_front' => false ),
		)
	);
}

?>

Този код ще регистрира новия пост тип, заедно с новата таксономия „FAQ Categories“, която ще използваме за да категоризираме въпросите.

След като регистрираме новия пост тип остава да добавим две функции които да направят така че Permalink-овете да работят както искаме ние

<?php

add_action( 'generate_rewrite_rules', 'register_faq_rewrite_rules' );
function register_faq_rewrite_rules( $wp_rewrite ) {
	$new_rules = array( 
		'faq/([^/]+)/?$' => 'index.php?faq-category=' . $wp_rewrite->preg_index( 1 ),
		'faq/([^/]+)/([^/]+)/?$' => 'index.php?post_type=faq&faq-category=' . $wp_rewrite->preg_index( 1 ) . '&faq=' . $wp_rewrite->preg_index( 2 ),
		'faq/([^/]+)/([^/]+)/page/(\d{1,})/?$' => 'index.php?post_type=faq&faq-category=' . $wp_rewrite->preg_index( 1 ) . '&paged=' . $wp_rewrite->preg_index( 3 ),
		'faq/([^/]+)/([^/]+)/([^/]+)/?$' => 'index.php?post_type=faq&faq-category=' . $wp_rewrite->preg_index( 2 ) . '&faq=' . $wp_rewrite->preg_index( 3 ),
	);

	$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}

// A hacky way of adding support for flexible custom permalinks
// There is one case in which the rewrite rules from register_kb_rewrite_rules() fail:
// When you visit the archive page for a child section(for example: http://example.com/faq/category/child-category)
// The deal is that in this situation, the URL is parsed as a Knowledgebase post with slug "child-category" from the "category" section
function fix_faq_subcategory_query($query) {
	if ( isset( $query['post_type'] ) && 'faq' == $query['post_type'] ) {
		if ( isset( $query['faq'] ) && $query['faq'] && isset( $query['faq-category'] ) && $query['faq-category'] ) {
			$query_old = $query;
			// Check if this is a paginated result(like search results)
			if ( 'page' == $query['faq-category'] ) {
				$query['paged'] = $query['name'];
				unset( $query['faq-category'], $query['name'], $query['faq'] );
			}
			// Make it easier on the DB
			$query['fields'] = 'ids';
			$query['posts_per_page'] = 1;

			// See if we have results or not
			$_query = new WP_Query( $query );
			if ( ! $_query->posts ) {
				$query = array( 'faq-category' => $query['faq'] );
				if ( isset( $query_old['faq-category'] ) && 'page' == $query_old['faq-category'] ) {
					$query['paged'] = $query_old['name'];
				}
			}
		}
	}

	return $query;
}
add_filter( 'request', 'fix_faq_subcategory_query', 10 );

?>

В горния код регистрираме две функции – register_faq_rewrite_rules() и fix_faq_subcategory_query().

Първата функция добавя следните няколко правила:

  • faq/([^/]+)/?$ – това правило ще бъде приложено когато адреса на страницата която се зарежда прилича на „faq/any-character/“ – тоест когато имаме начална част „faq/“ последвана от всякаква комбинация от символи, без „/“( „([^/]+)“ ), евентуално последвана от „/“( „/?“ ). Също така тази част трябва да е последната част от адреса на страницата, за да има съвпадение(т.е. няма да има съвпадение, ако адреса е „faq/any-character/something“).Когато адреса съвпадне, на текущата страница ще бъде показан архив за категорията(според примера който дадох по-горе) „any-character“.
  • faq/([^/]+)/([^/]+)/?$ – това правило е почти същото като предишното, с изключение на това че вече адреса който би съвпаднал би изглеждал като „faq/any-character/post-slug/“.Това ще зареди публикация с кратко име(slug) „post-slug“ от категорията за ЧЗВ с кратко име „any-character“.
  • faq/([^/]+)/([^/]+)/([^/]+)/?$ – това правило е почти същото като предишното, с изключение на това че вече адреса който би съвпаднал би изглеждал като „faq/any-character/sub-category/post-slug/“.Това ще зареди публикация с кратко име(slug) „post-slug“ от категорията за ЧЗВ с кратко име „sub-category“.

Втората функция от друга страна оправя проблема със под-категориите. А самият проблем се състои в това, че когато се опитате да заредите страница с адрес faq/category/child-category/, WordPress ще се опита да зареди публикация с кратко име „child-category“ вместо под-категорията с кратко име „child-category“. Самата функция е по всяка вероятност не най-красивото решение на проблема, най-малкото защото трябва да направим една допълнителна заявка към базата данни, но това е единствения начин по който успях да реша проблема Понеже функцията проверява дали има публикации с краткото име „child-category“, ако случайно има такава публикация, може да получите неочаквани резултати

Това е достатъчно за да подкарате секцията за ЧЗВ, обаче в момента ако искате да използвате пълноценно новите адреси на категориите и публикациите, ще трябва да си ги пишете сами. Това е защото WordPress не знае как трябва да генерира линковете така че да съвпадат с нашата идея. За това добавяме още няколко функции:

 

<?php

function faq_article_permalink( $article_id, $section_id = false, $leavename = false, $only_permalink = false ) {
	$taxonomy = 'faq-category';
	$article = get_post( $article_id );

	$return = '<a href="';
	$permalink = ( $section_id ) ? trailingslashit( get_term_link( intval( $section_id ), 'faq-category' ) ) : home_url( '/faq/' );
	$permalink .= trailingslashit( ( $leavename ? "%$article->post_type%" : $article->post_name ) );
	$return .= $permalink . '/" >' . get_the_title( $article->ID ) . '</a>';
	return ( $only_permalink ) ? $permalink : $return;
}

function filter_faq_post_link( $permalink, $post, $leavename ) {
	if ( get_post_type( $post->ID ) == 'faq' ) {
		$terms = wp_get_post_terms( $post->ID, 'faq-category' );
		$term = ( $terms ) ? $terms[0]->term_id : false;
		$permalink = faq_article_permalink( $post->ID, $term, $leavename, true );
	}
	return $permalink;
}
add_filter( 'post_type_link', 'filter_faq_post_link', 100, 3 );

function filter_faq_section_terms_link( $termlink, $term, $taxonomy = false ) {
	if ( $taxonomy == 'faq-category' ) {
		$section_ancestors = get_ancestors( $term->term_id, $taxonomy );
		krsort( $section_ancestors );
		$termlink =  home_url( '/faq/' );
		foreach ( $section_ancestors as $ancestor ) {
			$section_ancestor = get_term( $ancestor, $taxonomy );
			$termlink .= $section_ancestor->slug . '/';
		}
		$termlink .= trailingslashit( $term->slug );
	}

	return $termlink;
}
add_filter( 'term_link', 'filter_faq_section_terms_link', 100, 3 );

?>

Горните функции „филтрират“ резултата от две вградени в WordPress функции, които се грижат да създадат правилните линкове за всички страници, публикации и архиви на таксономии.

Остава един проблем, който може да не е никак малък за някои потребители – проблема с дубликиращото се съдържание. Има доста голяма вероятност Google или някоя друга търсачка която обхожда сайта ви да не остане очарована от факта, че намира идентично съдържание на два различни адреса(например faq-item/post-2-slug/ и faq/category/sub-category/post-2-slug/). Това може да се избегне с една функция която да препраща потребителите към правилния адрес, но оставям това на вас.

 

Източник:  http://themoonwatch.com/bg/%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F/php-i-wordpress/#sthash.GBKCWoNy.dpuf

Как да оптимизираме скоростта на WordPress чрез конфигуриране на кеша на браузера в .htaccess файла

  • 0
afilipov
Friday, 03 June 2016 / Published in Wordpress, Код оптимизация

Първо спираме ETag header-а тъй като ще използваме EXPIRES CACHING:

# ----------------------------------------------------------------------
# Expire Header
# ----------------------------------------------------------------------

# Use UTF-8 encoding for anything served text/plain or text/html
AddDefaultCharset UTF-8
# Force UTF-8 for a number of file formats

AddCharset UTF-8 .atom .css .js .json .rss .vtt .xml


# FileETag None is not enough for every server.

Header unset ETag


# Since we’re sending far-future expires, we don’t need ETags for static content.
# developer.yahoo.com/performance/rules.html#etags
FileETag None

# Send CORS headers if browsers request them; enabled by default for images.


# mod_headers, y u no match by Content-Type?!

SetEnvIf Origin ":" IS_CORS
Header set Access-Control-Allow-Origin "*" env=IS_CORS




# Allow access to web fonts from all domains.


Header set Access-Control-Allow-Origin "*"






Header set X-Powered-By "WP Rocket/2.8.14"
Header unset Pragma
Header append Cache-Control "public"
Header unset Last-Modified





Header unset Pragma
Header append Cache-Control "public"




# Expires headers (for better cache control)

ExpiresActive on

# Perhaps better to whitelist expires rules? Perhaps.
ExpiresDefault                          "access plus 1 month"

# cache.appcache needs re-requests in FF 3.6 (thanks Remy ~Introducing HTML5)
ExpiresByType text/cache-manifest       "access plus 0 seconds"

# Your document html
ExpiresByType text/html                 "access plus 0 seconds"

# Data
ExpiresByType text/xml                  "access plus 0 seconds"
ExpiresByType application/xml           "access plus 0 seconds"
ExpiresByType application/json          "access plus 0 seconds"

# Feed
ExpiresByType application/rss+xml       "access plus 1 hour"
ExpiresByType application/atom+xml      "access plus 1 hour"

# Favicon (cannot be renamed)
ExpiresByType image/x-icon              "access plus 1 week"

# Media: images, video, audio
ExpiresByType image/gif                 "access plus 1 month"
ExpiresByType image/png                 "access plus 1 month"
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType video/ogg                 "access plus 1 month"
ExpiresByType audio/ogg                 "access plus 1 month"
ExpiresByType video/mp4                 "access plus 1 month"
ExpiresByType video/webm                "access plus 1 month"

# HTC files  (css3pie)
ExpiresByType text/x-component          "access plus 1 month"

# Webfonts
ExpiresByType application/x-font-ttf    "access plus 1 month"
ExpiresByType font/opentype             "access plus 1 month"
ExpiresByType application/x-font-woff   "access plus 1 month"
ExpiresByType application/x-font-woff2  "access plus 1 month"
ExpiresByType image/svg+xml             "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

# CSS and JavaScript
ExpiresByType text/css                  "access plus 1 year"
ExpiresByType application/javascript    "access plus 1 year"



# Gzip compression

# Active compression
SetOutputFilter DEFLATE
# Force deflate for mangled headers


SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
# Don’t compress images and other uncompressible content
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png|rar|zip|exe|flv|mov|wma|mp3|avi|swf|mp?g|mp4|webm|webp)$ no-gzip dont-vary



# Compress all output labeled with one of the following MIME-types

AddOutputFilterByType DEFLATE application/atom+xml \
		                          application/javascript \
		                          application/json \
		                          application/rss+xml \
		                          application/vnd.ms-fontobject \
		                          application/x-font-ttf \
		                          application/xhtml+xml \
		                          application/xml \
		                          font/opentype \
		                          image/svg+xml \
		                          image/x-icon \
		                          text/css \
		                          text/html \
		                          text/plain \
		                          text/x-component \
		                          text/xml


Header append Vary: Accept-Encoding



# ----------------------------------------------------------------------
# Fonts
# ----------------------------------------------------------------------
# Add correct content-type for fonts 
AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType font/x-woff .woff
AddType image/svg+xml .svg
# Compress compressible fonts
AddOutputFilterByType DEFLATE font/ttf font/otf image/svg+xml
# Add a far future Expires header for fonts
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
ExpiresByType font/ttf "access plus 1 year"
ExpiresByType font/otf "access plus 1 year"
ExpiresByType font/x-woff "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"




Remove Query Strings

Добавете следния код в function.php (WordPress)

function _remove_script_version( $src ){
$parts = explode( '?ver', $src );
return $parts[0];
}
add_filter( 'script_loader_src', '_remove_script_version', 15, 1 );
add_filter( 'style_loader_src', '_remove_script_version', 15, 1 );

Сумиране на поле от “Advanced Custom Fields” по дадена категория.

  • 0
afilipov
Friday, 03 June 2016 / Published in Wordpress, Код оптимизация
function get_cat_count_downloads_by_cat($cat_id){

global $wpdb;
$total_downloads = $wpdb->get_col($wpdb->prepare
("SELECT meta_value FROM wp_postmeta as pm
INNER JOIN wp_term_relationships as tr ON (pm.post_id = tr.object_id) 
INNER JOIN wp_term_taxonomy as tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id) 
WHERE 1
AND tt.term_taxonomy_id = '".$cat_id."'
AND pm.meta_key = 'mp3_downloads'"));
	return array_sum( $total_downloads );
}

Премахване на URL структура от “custom post type”

  • 0
afilipov
Thursday, 26 May 2016 / Published in Wordpress, Код оптимизация

Когато регистрирате нов тип пост “custom post type” във вашия function.php има опции rewrite, query_var, publicly_queryable, public. Те трябва да изглеждат така:

'rewrite'            => false,
'query_var'          => false,
'publicly_queryable' => false,
'public'             => false

От WordPress документацията:

rewrite Triggers the handling of rewrites for this post type. To prevent rewrites, set to false.

query_var 'false' - Disables query_var key use. A post type cannot be loaded at /?{query_var}={single_post_slug}

publicly_queryable Whether queries can be performed on the front end as part of parse_request().

public 'false' - Post type is not intended to be used publicly and should generally be unavailable in wp-admin and on the front end unless explicitly planned for elsewhere.

Сега отивате в “Permalinks Settings” или ако сайта Ви е на български “Постоянни връзки” и без да променяте нищо натиснете запазване на промените, което ще презапише настройките.
С това действие ще забрани достъпа до вашия “custom post type” от предната част на сайта.

Дебъгване на WordPress: Намиране на бавни Filters и Actions

  • 0
afilipov
Friday, 11 March 2016 / Published in Wordpress, Код оптимизация
  • 1
  • 2

Търсене

Категории

  • CSS
  • SEO Оптимизация
  • WooCommerce
  • Wordpress
  • WordPress Модули
  • Код оптимизация
  • Трикове

Архиви

  • July 2020
  • July 2018
  • February 2018
  • August 2017
  • March 2017
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • March 2016
  • July 2012

УСЛУГИ

  • Уеб сайт изработване
  • Електронни магазини
  • Поддръжка на WordPress сайт
  • ОПТИМИЗАЦИЯ НА САЙТ
  • Изработка на лого
  • ХОСТИНГ И ДОМЕЙН
  • СОФТУЕР ПО ПОРЪЧКА
  • Поръчка на модул

ВРЪЗКА С НАС

(+359) 888 898 797
Email: office@ait-webdesign.com

AIT WEB DESIGN
4000 Пловдив, Ул. Макгахан 8. България

Отвори в Google Maps

ПОСЛЕДНО ЗАВЪРШЕНИ ПРОЕКТИ

  • Динамичен сайт Electromatkordov.com – Хасково
  • Динамичен сайт EvoLife – Бургас
  • Изработване на динамичен уеб сайт на Интер Дент – Перник
  • Изработване на сайт Independent-consultants.com – Германия
  • Изработване на сайт Online life academy – Хасково
  • Изработване на сайт на Yanevfashion – Хасково
  • Изработване на сайт на ГЕНОМАКС ООД – София
  • Изработване на сайт Фирма Mercari – Пловдив
  • Изработка на CMS AIT ADMIN PANEL 4.0 – София
  • Изработка на динамичен сайт на фирма Max Cheap – Хасково
  • Изработка на електронен магазин Elegantno.bg
  • Изработка на електронен магазин Merystyle.com
  • Изработка на електронен магазин Mytiande.bg – гр. Габрово
  • Изработка на електронен магазин Ochila.com
  • Изработка на електронен магазин град София – Baghome.bg
  • Изработка на електронен магазин град Ст. Загора – Sectronics.info
  • Изработка на онлайн магазин “АЙ ЕНД ДЖИ ГРОУП” ООД – гр. Хасково
  • Изработка на онлайн магазин Blagichka.com – София
  • Изработка на онлайн магазин Cosmeticline BG – София
  • Изработка на сайт – онлайн каталог за библиотека Христо Смирненски град Хасково – Catalog.library-haskovo.org
  • Изработка на сайт Deals Of Tomorrow – Англия
  • Изработка на сайт TMXBG.COM – София
  • Изработка на сайт за изкуство Eyeseechaos.com – Хасково
  • Изработка на сайт за кастинг агенция Crew Casting – гр. София
  • Изработка на сайт за козметични продукти Tiande – гр. Габрово
  • Изработка на сайт за недвижими имоти 2процента БГ – Пловдив
  • Изработка на сайт за поезия – Пловдив
  • Изработка на сайт за туристическа фирма Еисако Тур – гр. Смолян
  • Изработка на сайт каталог V-Pharm – Велико Търново
  • Изработка на сайт на Sanata Vopilif Music Project – Хасково
  • Изработка на сайт Папагали Жако – гр. Хасково
  • Изработка на сайт по проект „Хасково и Одрин – Културно – исторически дестинации“ – гр. Хасково
  • Изработка на сайт София за подбор на модели – SVvagency-bg.com
  • Изработка на сайт„Кой чисти в природата“ за РБ „Хр. Смирненски” – гр. Хасково
  • Изработка на софтуер по поръчка ТЕЛК
  • Изработка на уеб сайт Abcstudio.bg – гр. Хасково
  • Изработка на уеб сайт Kristal 24 BG – гр. Сандански
  • Изработка на уеб сайт Lazarovart.com – гр. Бургас
  • Изработка на уеб сайт MakeAPointBag.Com – гр. Пловдив
  • Изработка на уеб сайт Mo’s Table – Лондон
  • Изработка на уеб сайт Nansy fashion – гр. Хасково
  • Изработка на уеб сайт Tripvam.Com – гр. София
  • Изработка на уеб сайт Twinstarsoft.com – гр. Варна
  • Изработка на уеб сайт Регионална Библиотека “Христо Смирненски” – гр. Хасково
  • Изработка на фирмен уеб сайт за “Еталон Груп” ЕООД – гр. Хасково
  • Редизайн на онлайн магазин Глобал БГ – Хасково
  • Изработка на сайт Пловдив – Arsmedica.bg
  • Изработка на сайт Пловдив – U4avplovdiv.com
  • Сайт за недвижими имоти IRE.BG – Хасково
  • Уеб сайт изработка на Globalpakbg.com – Хасково

Етикети

агенция брокер за продажба на имоти изработка на бизнес сайт изработка на каталог изработка на каталог за електротехника изработка на каталог за мебели изработка на медицински сайт изработка на онлайн магазин изработка на сайт за ваучери и намаления изработка на сайт за дентална практика изработка на сайт за изкуство изработка на сайт за ластици и шнурове изработка на сайт за лекарства изработка на сайт за мебели изработка на сайт за недвижими имоти изработка на сайт за радиатори изработка на сайт за цитати и съвети изработка на сайт каталог изработка на уеб сайт хасково пловдив новини сайт агенция недвижими имоти сайт електротехника сайт за брокерска фирма сайт за ваучери сайт за връзки и кантове сайт за дентален кабинет сайт за духовно и личностно развитие сайт за електроника сайт за изкуство сайт за музика и поезия сайт за недвижими имоти сайт за новини сайт за оферти и намаления сайт за плетени шнурове сайт за подматрачни рамки сайт за спални и матраци сайт за туризъм сайт за шевни конци сайт каталог мебели сайт лекарства и хранителни добавки сайт посредник за недвижими имоти сайт продажба на имоти сайт радиатори за дом и офис фирма за недвижими имоти фирмен сайт фирмен сайт за плетени ластици
  • Политика за защита на личните данни
Всички права запазени AIT WEB DESIGN 2020 -

изработка на сайтове

и онлайн магазини
TOP
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. However you may visit Cookie Settings to provide a controlled consent.
Read More
ACCEPT REJECT
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
Save & Accept