Skocz do zawartości

Ustawienie kategorii głównej dla wpisu


skorpionek

Rekomendowane odpowiedzi

Witam.

Od wczoraj nie mogę sobie poradzić z pewnym problemem.

W momencie kiedy wpis ma kilka kategorii to jako główna (znajdująca się w linku oraz znaczniku rel="canonical" w headzie) ustawia się ta kategoria, która ma najniższe ID (czyli dodana najwcześniej).

Bardziej obrazowo:

Posiadam wpis w kategorii "garnitury" (to nie jest woocommerce, normalne wpisy, tylko taki przykład "sklepowy" mi przyszedł do głowy) i wyświetla się on pod linkiem:

https://example.com/garnitury/garnitur-szary

W tym momencie wszystko jest ok. Ale jeżeli chcę chwilowo dodać go również do kategorii "wyprzedaż" (która została dodana wcześniej niż kategoria "garnitury") to linki do tego postu w całym serwisie oraz w znaczniku canonical zmienia się na:

https://example.com/wyprzedaz/garnitur-szary

Tu następuje moje pytanie. Co zrobić, abym mógł sobie wybrać jaka będzie główna kategoria wyświetlająca się w pemalinkach? Albo jak zmienić ID kategorii tak, aby te specjalne jak "wyprzedaż" czy "promocje" miały bardzo wysokie ID żeby na pewno wszystkie kategorie podstawowe były wcześniej?

Pozdrawiam i z góry dziękuję za odpowiedzi.

Odnośnik do komentarza
Udostępnij na innych stronach

 

Tu następuje moje pytanie. Co zrobić, abym mógł sobie wybrać jaka będzie główna kategoria wyświetlająca się w pemalinkach? Albo jak zmienić ID kategorii tak, aby te specjalne jak "wyprzedaż" czy "promocje" miały bardzo wysokie ID żeby na pewno wszystkie kategorie podstawowe były wcześniej?

Pozdrawiam i z góry dziękuję za odpowiedzi.

 

Najprościej to chyba przy edycji posta ręcznie zmienić mu url,

 

 

Albo jak zmienić ID kategorii tak, aby te specjalne jak "wyprzedaż" czy "promocje" miały bardzo wysokie ID żeby na pewno wszystkie kategorie podstawowe były wcześniej?

 

Najszybciej to na żywca w bazie danych, ale co z tego jak ustawisz ID kategori na 7999 skoro następną jaką dodasz dostanie ID 8000

Robimy nadruki na kubkach, poduszkach i innych gadżetach - alenadruk.pl

Odnośnik do komentarza
Udostępnij na innych stronach

w pliku functions.php w szablonie umieść funkcję

function multiple_category_post_link($url = '')
{  
  // check permalink structure for the required construct; /%category%/%postname%/ 
  if (strrpos(get_option('permalink_structure'), '%category%/%postname%') !== false)
  {
    // get the current post
    global $post, $wp_query;
    
    // prepare variables for use below
    $post_id = $cat_id = 0;
    $new_url = '';
      
    // for categories
    if (is_category()) 
    {
      // remember current category and post
      $cat_id = get_query_var('cat'); 
      $post_id = $post->ID;
      
      // add the post slug to the current url
      $new_url = $_SERVER['REQUEST_URI'] . $post->post_name;   
    }
    
    // for single posts 
    else if (is_single()) 
    {
      // last part in the 'category_name' should be the slug for the current category
      $cat_slug = array_pop(explode('/', get_query_var('category_name')));
      $cat = get_category_by_slug($cat_slug);
      
      // remember current category and post
      $post_id = $wp_query->post->ID;     
      if ($cat) $cat_id = $cat->cat_ID;
      
      // replace the slug of the post being viewed by the slug of $post
      $new_url = str_replace('/' . get_query_var('name'), '', $_SERVER['REQUEST_URI']) . $post->post_name;
    } 
    
    if ($post_id > 0 && $cat_id > 0 && !empty($new_url))
    {
      // make sure categories match!
      foreach(get_the_category($post_id) as $cat)
      {
        if ($cat->cat_ID == $cat_id)
        {
          $url = $new_url;
          break;
        } 
      }  
    }    
  }   
    
  // always return an url!
  return $url;
} 
add_filter('post_link', 'multiple_category_post_link');

struktura permalinks %category%/%postname%

 

i możesz dostać się z każdej kategorii

 

:)

Robimy nadruki na kubkach, poduszkach i innych gadżetach - alenadruk.pl

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności