Промяна на URL без custom permalinks

hatre

Active Member
Промяна на URL без custom permalinks
Custom permalinks не искам да го ползвам защото:
  • Ако има 2 еднакви URL не съобщава и не може да намери старината (Error 404)
  • URL-то, което генерира автоматично е ?p=100. Не е удобно всеки път сам да го пиша.

Трябва ми да мога да редактирам адреса както си искам и най-вече за да мога да слагам наклонена „/” която автоматично се изтрива ако го няма плъгина custom permalinks.
Някакви идеи, къде трябва да се редактира, за да не ми изтрива наклонената. И друг въпрос кое е по-добре, адресите да са на кирилица или латинеца, за сайт който всичко ще е на кирилица?
 
От: Промяна на URL без custom permalinks

Отиди на Настройки->Постоянни връзки
Избери Различна структура и в полето въведи

/%post_id%/%postname%/

така няма да се повтарят линковете
 
От: Промяна на URL без custom permalinks

Отиди на Настройки->
/%post_id%/%postname%/
така няма да се повтарят линковете
:mrgreen: Как ще го направя така, въпроса не са мода не се повтаря, а да са смислени лесно да се въвеждат. Искам структура сайт/категория/тема – но, ако това го направя с /%category%/%postname%/ тогава има друг недостатък, че ако редактирам тема, няма да мога да редактирам %category% и специално заради темата ще трябва да променя наслойките на постоянни връзки.
Трябва ми да мога да въвежда наклонена, за да си правя сам структурата какво си искам. По принцип най-добре е в публикацията на админа като се генерира URL с /%category%/%postname%/ да могат да се променят и двете, но не могат. Полето за промяна е само /%postname%/
 
От: Промяна на URL без custom permalinks

Как с plugin custom permalink на постовете автоматично да се добави URL с формат: /url-категория/url-пост.

Никой хакер не ми помогна, тогава аз ще си помогна. Ето малко модифицира код, който ще добави URL-то автоматично, ще направи големите букви – малки, и разстоянията с тирета, защото е отвратително всеки път да ги пиша сам:

Във function custom_permalinks_original_post_link($post_id)
Закоментирайте return $originalPermalink; и добавете

PHP:
	$category = get_the_category();
	$Category_Name=$category[0]->cat_name; 
	$cat_id = get_cat_ID( $Category_Name );
	$category = &get_category($cat_id);
	$Category_URL = $category->slug;
	$EmptyLink = get_the_title($post_id); 
	$EmptyLink = mb_convert_case($EmptyLink, MB_CASE_LOWER, "UTF-8");
	$EmptyLink =  strtolower($EmptyLink); 
	$EmptyLink = str_replace( " ", "-" , $EmptyLink ); 
	$EmptyLink=$Category_URL."/".$EmptyLink;
	$originalPermalink = $EmptyLink;
	return  $originalPermalink;

Така при нова публикация, в полето за URL на поста ще се добави
/категория/пост.
Забележка /категория ще се появи, след натискане на бутона публикува или запиши като чернова.

Ако не желаете за се появява /категория използвайте кода:

PHP:
	$EmptyLink = get_the_title($post_id); 
	$EmptyLink = mb_convert_case($EmptyLink, MB_CASE_LOWER, "UTF-8");
	$EmptyLink =  strtolower($EmptyLink); 
	$EmptyLink = str_replace( " ", "-" , $EmptyLink ); 
	$EmptyLink=$EmptyLink;
	$originalPermalink = $EmptyLink;
	return  $originalPermalink;




Код за URL на страниците:
Тук обаче адреса е само /име-на-странца, а не главна-страница/текуща-страница, защото не ми се търси как става, пък и страниците май са по-малко от публикациите:
Във function custom_permalinks_original_page_link($post_id)
Закоментирайте return $originalPermalink; и добавете

PHP:
$EmptyLink = get_the_title($post_id);
$EmptyLink=$EmptyLink;
$EmptyLink = mb_convert_case($EmptyLink, MB_CASE_LOWER, "UTF-8");
$EmptyLink =  strtolower($EmptyLink);
$EmptyLink = str_replace( " ", "-" , $EmptyLink );
$originalPermalink = $EmptyLink;
return  $originalPermalink;
 

Горе