וורדפרס צברה תאוצה בשנים באחרונות והשיגה לעצמה שם ומוניטין בעולם האינטרנט כמערכת ניהול תוכן (CMS) מהמוצלחות שיש. אחת מפריצות הדרך החשובות של וורדפרס כמערכת ניהול תוכן היא האפשרות ליצור (Custom Post Types (CPT או בעברית סוגי תוכן מותאמים אשר הביאו עימם את האפשרות ליצור סוגי תוכן שונים במערכת ולהרחיב את יכולותיה.
במדריך זה נסביר מהם סוגי תוכן מותאמים, כיצד ליצור סוגי תוכן אלו וכיצד להציג אותם באתר הוורדפרס שלכם.
יש שיאמרו כי נכון לומר ״פוסטים מותאמים אישית״, לדעתי נכון לומר ״סוגי תוכן מותאמים״ מכיוון וזוהי מטרתם – ליצור סוגים חדשים של תוכן המותאמים לצרכים שלכם…
קצת היסטוריה
בפועל, סוגי תוכן מותאמים בוורדפרס קיימים לא מעט זמן, בעצם משנת 2005 כשוורדפרס בגירסה 1.5 הציגה את האפשרות לייצר דפים סטטיים והוסיפה את השדה post_type למסד הנתונים.
הפונקציה wp_insert_post הייתה קיימת מגירסה 1.0 של וורדפרס כך שכשנוסף השדה post_type למסד הנתונים, יכולתם פשוט לקבוע את הערך שלו כשהוספתם פוסט. כמובן שיצירה וניהול סוגי תוכן מותאמים בתקופה זו דרשה לכתוב לא מעט קוד, אך עם התפתחות המערכת נדרש פחות ופחות.
בגירסה 2.9 הפונקציה register_post_type יצאה לאוויר העולם והייתה נגישה לכולם. בנקודה זו, כבר לא נדרש הרבה בכדי ליצור סוגי תוכן מותאמים על מנת לקחת את וורדפרס כמה צעדים קדימה ולגרום לה להיות מערכת ניהול תוכן במלוא מובן המילה.
מה זה סוג תוכן מותאם (CPT)?
סוג תוכן מותאם (Custom Post Type) הוא בעצם פוסט עם ערך שונה בשדה post_type במסד הנתונים.
אם תפרסמו פוסט באתר שלכם, תגשו למסד הנתונים ותשנו את סוג התוכן מ-"post" ל-"page", הפוסט יופיע תחת עמודים ולא תחת פוסטים בממשק הניהול.
וורדפרס מגדירה מספר תכונות לכל סוג תוכן. האם ניתן לבצע חיפוש באותו סוג תוכן? האם הוא מוצג בממשק הניהול? האם ניתן לשייך אליו קטגוריות או תגיות, האם הוא מאפשר תגובות? אלו סט של הגדרות אותן ניתן לקבוע עבור כל סוג תוכן.
כברירת מחדל, וורדפרס מגיעה עם מספר סוגי תוכן: עמודים, פוסטים, תפריטים, גרסאות (post revisions) ועמודי קובץ (attachments).
וורדפרס מאפשרת לכם בצורה פשוטה ליצור סוג תוכן משלכם כגון ספרים, סרטים, ביקורות, מתכונים וכל מה שתעלו על דעתכם.

מתי יש להשתמש בסוגי תוכן מותאמים?
ההחלטה האם ליצור סוג תוכן מותאם יכולה להיות מעט בעייתית. לפעמים חלוקה באמצעות קטגוריות מספיקה.
אין לכך תשובה חד משמעית, אך ישנם מספר קווים מנחים. אם אחת מהסיטואציות הבאות רלוונטיות כלפיכם, יצירת סוג תוכן מותאם תהיה נכונה:
- אם אתם מפרסמים לפחות שני סוגים שונים של תוכן. לדוגמה, פוסטים בלוג אישי ומתכוני אוכל.
- אם מבחינת מבנה ומבחינה ויזואלית, יהיה נכון יותר להפריד שני סוגי שונים של תוכן. לדוגמה בלוג אישי ופורטפוליו.
- אם סוג התוכן אינו מתאים מבחינה כרונולוגית. לדוגמה, בלוג חברה ושירותים אותם החברה מציעה.
- אם סוג התוכן יכול להיות מופרד בקלות לאתר משל עצמו ועדיין להשאר קוהרנטי. לדוגמה, בלוג אישי ומוצרים אותם אתם מוכרים באתר.
- אם השימוש בקטגוריות ותגיות יובילו להיררכית טקסונומיות מסובכת יתר על המידה. לדוגמה, בלוג אישי וביקורות על סרטים.
אז איך יוצרים סוגי תוכן מותאמים?
המצב האידאלי הוא ליצור סוג תוכן מותאם על ידי שימוש בתוסף ייעודי שתבנו לשם כך, אך זוהי רק המלצה, אם אינכם יודעים איך ליצור תוסף, הוסיפו את הקוד הבא לקובץ functions.php:
// Register Custom Post Type
function snippet_post_type() {
$args = array();
register_post_type( 'snippet', $args );
}
add_action( 'init', 'snippet_post_type', 0 );כללים למתן שמות: השתמשו בקידומת התואמת לשם התוסף או התבנית (למשל savvy_snippet במקום snippet) למניעת התנגשויות. הגבילו את השם ל-20 תווים (מגבלת מסד הנתונים), השתמשו בצורת יחיד, והימנעו מהקידומת wp_.
קוד זה ייצור סוג תוכן חדש ללא אפשרויות כלל. הוא לא יהיה ציבורי ואף לא יופיע בלוח הבקרה של וורדפרס. בכדי לתפור את סוג התוכן לצרכים שלנו, נוסיף כמה הגדרות למערך הריק בקוד מעלה ($args):
// Register Custom Post Type
function snippet_post_type() {
$labels = array(
'name' => _x( 'Snippets', 'Post Type General Name', 'text_domain' ),
'singular_name' => _x( 'Snippet', 'Post Type Singular Name', 'text_domain' ),
'menu_name' => __( 'Snippets', 'text_domain' ),
'name_admin_bar' => __( 'Snippet', 'text_domain' ),
'archives' => __( 'Snippet Archives', 'text_domain' ),
'attributes' => __( 'Snippet Attributes', 'text_domain' ),
'parent_item_colon' => __( 'Parent Item:', 'text_domain' ),
'all_items' => __( 'All Items', 'text_domain' ),
'add_new_item' => __( 'Add New Item', 'text_domain' ),
'add_new' => __( 'Add New', 'text_domain' ),
'new_item' => __( 'New Item', 'text_domain' ),
'edit_item' => __( 'Edit Item', 'text_domain' ),
'update_item' => __( 'Update Item', 'text_domain' ),
'view_item' => __( 'View Item', 'text_domain' ),
'view_items' => __( 'View Items', 'text_domain' ),
'search_items' => __( 'Search Item', 'text_domain' ),
'not_found' => __( 'Not found', 'text_domain' ),
'not_found_in_trash' => __( 'Not found in Trash', 'text_domain' ),
'featured_image' => __( 'Featured Image', 'text_domain' ),
'set_featured_image' => __( 'Set featured image', 'text_domain' ),
'remove_featured_image' => __( 'Remove featured image', 'text_domain' ),
'use_featured_image' => __( 'Use as featured image', 'text_domain' ),
'insert_into_item' => __( 'Insert into item', 'text_domain' ),
'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ),
'items_list' => __( 'Items list', 'text_domain' ),
'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),
'filter_items_list' => __( 'Filter items list', 'text_domain' ),
);
$args = array(
'label' => __( 'Snippet', 'text_domain' ),
'description' => __( 'Snippet CPT Description', 'text_domain' ),
'labels' => $labels,
'supports' => array( 'title', 'editor' ),
'taxonomies' => array( 'category', 'post_tag' ),
'hierarchical' => false,
'public' => true,
'show_ui' => true,
'show_in_menu' => true,
'menu_position' => 5,
'show_in_admin_bar' => true,
'show_in_nav_menus' => true,
'can_export' => true,
'has_archive' => true,
'exclude_from_search' => false,
'publicly_queryable' => true,
'capability_type' => 'post',
'show_in_rest' => true,
);
register_post_type( 'snippet', $args );
}
add_action( 'init', 'snippet_post_type', 0 );בקוד מעלה הצגנו הרבה מהארגומנטים שניתן לקבוע כאשר יוצרים סוג תוכן מותאם. אין זו חובה להשתמש בכל הארגומנטים.
קוד זה ייצור סוג תוכן חדש הנקרא snippet ויופיע כתפריט סטנדרטי בלוח הבקרה של וורדפרס. תוכלו להוסיף פוסטים, לצפות ולערוך את הפוסטים של סוג תוכן זה בלוח הבקרה וכמובן לראות את הפוסטים שפירסמתם באתר שלכם.
ישנם פרמטרים רבים שניתן להגדיר כשיוצרים סוג תוכן חדש. לרשימה המלאה עיינו ב- WordPress Developer Resources.
שימו לב לשמות השמורים עם וורדפרס ואינכם יכולים להשתמש באלו עבור טקסונומיות או סוגי התוכן שאתם יוצרים אחרת תתקלו בבעיות.
ניתן מבט על חלק מהפרמטרים:
- labels – פרמטר זה צריך להיות מערך המגדיר את התוויות שיהיו לסוג התוכן בלוח הבקרה של וורדפרס.
- description – תיאור קצר על סוג התוכן, מה הוא עושה ומדוע אנחנו משתמשים בו.
- exclude_from_search – יגדיר האם סוג התוכן יופיע בתוצאות החיפוש כשיתבצע חיפוש באתר.
- menu_position – מיקום התפריט בלוח הבקרה של וורדפרס (ברירת המחדל היא מתחת לתפריט תגובות).
- supports – מגדיר במה יתמוך סוג התוכן שיצרתם, לדוגמא כותרת, תקציר, תגובות, גירסאות וכו׳…
- has_archive – מאפשר להציג ארכיון (archive) לסוג תוכן זה.
- show_in_rest – חושף את סוג התוכן ל-REST API ומאפשר את עורך הבלוקים (Gutenberg). הגדירו ל-
trueעבור כל סוג תוכן שצריך להשתמש בעורך המודרני. - menu_icon – קובע אייקון Dashicon לתפריט הניהול (למשל
'dashicons-media-code'). - rewrite – שולט במבנה הקישורים הקבועים. השתמשו ב-
array( 'slug' => 'snippets', 'with_front' => false )להפרדת ה-URL slug ממזהה סוג התוכן.
הצגת סוג התוכן המותאם
ישנם לא מעט ניואנסים להסבר עד כה אך זה אמור לתת לכם את הבסיס ליצירת סוג תוכן מותאם בוורדפרס. מה שנשאר לנו הוא להסביר כיצד להציג את סוג התוכן שיצרתם למשתמש באתר – כרשימה של פוסטים בעמוד הארכיון וכעמוד יחיד המציג את הפוסט עצמו.
הצגת דף הארכיון (רשימת הפוסטים) של סוג התוכן שיצרתם
במידה ויצרתם סוג תוכן מותאם כשהפרמטר has_archive שווה ל true, וורדפרס (במצבה הדיפולטיבי) תציג סוג תוכן זה על ידי שימוש בקובץ archive.php. אם סוג התוכן שיצרנו נקרא snippets, תוכלו לגשת ל http:/mysite.co.il/snippet בכדי לראות את רשימת הפוסטים שיצרתם.
ההיררכיה של טעינת הקבצים בוורדפרס עובדת בצורה הבאה: במידה וקיים קובץ בשם archive-[post_type].php – או במקרה שלנו archive-snippet.php וורדפרס תשתמש בקובץ זה על מנת להציג את ארכיון הפוסטים של סוג התוכן המדובר. במידה וקובץ זה אינו קיים (והוא אינו קיים כברירת מחדל), וורדפרס תשתמש בקובץ archive.phpבכדי להציג את התוכן. וכשזה לא קיים תשתמש בקובץ index.php.
לכן, במידה ואתם רוצים לשנות את מבנה דף הארכיון של סוג התוכן snippet שיצרנו, נכון יהיה ליצור קובץ חדש בתבנית שלכם בשםarchive-snippet.php ולהעתיק אליו את הקוד מ archive.php. כעת תוכלו לשנות את הקובץ החדש שיצרתם בהתאם לדרישות העיצוב כאוות נפשכם.
הצגת דף הפוסט עצמו של סוג התוכן שיצרתם
אותה היררכיה חלה גם על דף הפוסט עצמו – העמוד שמוצג כשלוחצים על פוסט מדף הארכיון.
כברירת מחדל, וורדפרס תשתמש בקובץ single.php. להתאמה אישית, צרו קובץ בשם single-snippet.php בתבנית שלכם, העתיקו אליו את הקוד מ-single.php ובצעו את השינויים.
הצגת הפוסטים באמצעות הלולאה של וורדפרס
במקרים רבים, תרצו להציג פוסטים של סוג תוכן מסוים בתבנית עמוד משלכם. הדרך הנוחה ביותר היא באמצעות WP_Query והלולאה של וורדפרס.
להצגת פוסטים של סוג תוכן מסוים בתבנית עמוד כלשהי, השתמשו בקוד הבא:
<?php
if ( get_query_var( 'paged' ) ) {
$paged = get_query_var( 'paged' );
}
if ( get_query_var( 'page' ) ) {
$paged = get_query_var( 'page' );
}
$query = new WP_Query( array( 'post_type' => 'snippet', 'paged' => $paged ) );
if ( $query->have_posts() ) : ?>
<?php while ( $query->have_posts() ) : $query->the_post(); ?>
<div class="entry">
<h2 class="title"><?php the_title(); ?></h2>
<?php the_content(); ?>
</div>
<?php endwhile;
wp_reset_postdata(); ?>
<!-- you can display pagination here -->
<?php else : ?>
<!-- you can display an error here -->
<?php endif; ?>תוכלו לשנות את סוג התוכן שיוצג בשורה מספר 9. כמו כן, המשתנה
$pagedנחוץ בכדי שהעימוד הממוספר יעבוד כראוי (Pagination).
סוגי תוכן מותאמים ובוני עמודים
בוני עמודים כמו Elementor מאפשרים ליצור תבניות ארכיון ותבניות פוסט בודד עבור סוגי התוכן שיצרתם ללא כתיבת קוד. זו יכולה להיות חלופה נוחה אם אתם מעדיפים גישה ויזואלית לעיצוב תבניות.
שאלות נפוצות
לסיכום
יצירת סוגי תוכן מותאמים היא דרך עוצמתית להרחיב את וורדפרס מעבר לפוסטים ועמודים בסיסיים. באמצעות register_post_type(), ניתן להגדיר סוגי תוכן המותאמים לצרכים שלכם – בין אם מתכונים, פורטפוליו, מוצרים או כל דבר אחר.
נקודות מפתח: רשמו סוגי תוכן בתוסף לניידות, הגדירו show_in_rest ל-true לתמיכה בעורך הבלוקים, השתמשו בקידומת למניעת התנגשויות שמות, וצרו קבצי תבנית ייעודיים (archive-{post_type}.php ו-single-{post_type}.php) לעיצוב מותאם. למידע נוסף על ארגון תוכן, עיינו במדריך שלנו על טקסונומיות בוורדפרס.


רועי, פוסט יפה מאוד, כל הכבוד על ההשקעה.
מספר הערות:
1. ראשית אין להשתמש בעברית בקוד, יש להשתמש באנגלית ולהוסיף ולהשתמש בפונקציות התרגום של וורדפרס בשילוב של textdomain.
2. ולמה לכתוב קוד כשאפשר להשתמש בגנרטור לייצור הקוד – https://generatewp.com/post-type/
3. ואם כבר אתה נמנע מלהשתמש בתוספים כדי ליצור סוגי פוסטים, מדוע להשתמש בתוסף ACF כדי ליצור metabox? אפשר לכתוב קוד כדי להוסיף שדות נוספים ולהרחיב את הפונקציונאליות.
חוץ מזה, אחלה פוסט!
היי רמי, תודה רבה על התגובה 🙂
לגבי סעיף 1, אתה בהחלט צודק ורצוי להשתמש בפונקציית התרגום. אדאג להוסיף את האפשרות בהקדם.
לגבי סעיף 3, ציינתי שניתן להוסיף metaboxes בקוד ואף יותר מזה… למה להסביר על ACF ? כי הוא פלאגין מגניב מי כמוך יודע…
שמעתי הרבה מחמאות על ACF ואני בהחלט מפרגן ליוצרים, אבל אני מעדיף לכתוב את הקוד שלי בעצמי.
שימוש בתוספים כמו ACF מוסיף הרבה תקורה לאתר שלך. הרי התוסף מביא פתרון כולל לכל הצרכים של כל המשתמשים, גם דברים שאתה לא צריך. ואפילו אם לא תשתמש בתוסף אלא בספרייה שיוצרת Meta Box או Custom Post Types או Taxonomy עדיין יש תקורה רבה והמון דברים מיותרים (קרוב ל-90% מהקוד לא יהיה רלוונטי לפרוייקט שלך).
לעומת זאת, כשאתה כותב קוד בעצמך, אתה כותב רק את מה שהאתר שלך צריך ולא יותר מזה. קוד רזה, חסכוני וללא תקורה מיותרת.
תמיד עדיף לכתוב קוד בעצמך מאשר להשתמש בפלאגין, על זה אין ויכוח כלל. עם זאת, זה לא תמיד מתאפשר, כמו שלא תמיד נכתוב את התבנית בעצמינו למרות שלבטח עדיף… בכל אופן ACF הוא פלאגין שכתוב מאד נכון מבחינת קוד והממשק שלו נוח ומלא אפשרויות קיסטום.. כשזה מגיע ל Custom Fields אני תמיד מעדיף להשתמש בו מאשר לכתוב את הקוד בעצמי.
בעבר הרבה מפתחים אמרו לי את זה על post types ועל taxonomies עד ששחררתי את הגנרטורים האוטומטיים ב-GenerateWP.com , היום הם כבר לא משתמשים בתוספים.
עוד מעט אנחנו נשחרר MetaBox Generator ואז גם השימוש ב-ACF יפחת.
אגב, זו פרקטיקה בעייתית למסור ללקוח אתר כשהוא רואה את כל התוספים בהם השתמשת. הוא יכול להיכנס תוסף ולשנות, ואז באותו התלונות – האתר לא עובד… האתר מקולקל…
שוב אתה חוזר לתוספים?
מתקין תוסף אחד בשביל להסתיר אחר?
אתה יודע כמה קוד מיותר יש לך באתר שמאט אותו?
תודה רבה על המאמר ובכללי על הבלוג המושקע מאוד עם תוכן איכותי פצצות. בכלל לא מובן מאליו שאתה משתף בידע זה מאוד עוזר , שוב תודה
שלום רועי,
כיף להכנס לאתר לקבל חומר מעולה ומקצועי מוסבר בטוב טעם! רואים את ההשקעה! וגם כיף לגלות שיפורים קטנים בעיצוב ובחוויה (ניווט מהיר, אפשרות צפיה כהה/בהיר ועוד… מתי אתה מספיק לטפח כל כך את האתר? אולי כדאי גם כמה פוסטים על פרודוקטיביות…;) )
השאלה שלי, היא , איך בסופו של דבר אני מתרגמת את הCPT? אני מעוניינת שזה יופיע בעברית בפירורי לחם ובלוח בקרה למשל.
תודה רבה
היי דסי,
מגניב שאת שמה לב לשינויים 😉 לגבי התרגום, אם את מדברת על הנראות בלוח הבקרה השליטה מתבצעת בחלק זה של הקוד שהצגתי:
כמובן שניתן לבצע תרגום זה גם דרך קבצי PO,MO אך בתור התחלה את בהחלט יכולה לתרגם את הטקסט בקוד המוצג מעלה.
לגבי פירורי הלחם, הרי הם אינם מציגים שום דבר בהקשר של ה CPT עצמו. פירורי לחם מציגים היררכיה מסויימת אך CPT, ככל פוסט יהיה תמיד השלב האחרון בהיררכיה ומכאן שפירורי הלחם פשוט יציגו את כותרת ה CPT הספציפי בסופן.
פירורי לחם מציגים את הקטגוריה (או כל טקסונומיה אחרת) במידה וקיימת עבור אותו CPT. למשל אם נשתמש בדוגמה שהצגתי ליצירת CPT מסוג סניפט – פירורי הלחם של סניפט כלשהו יהיו נאמר: שם האתר > שם הסניפט.
אם אותם סניפטים היו יושבים תחת טקסונומיה כלשהי (לדוגמה תחת קטגוריה בשם ״עיצוב״) פירורי הלחם היו נראים כך: שם האתר > עיצוב > שם הסניפט.
בשני במקרים ״שם הסניפט״ יהיה כותרת הסניפט עצמו כך שאין עניין של תרגום ה CPT במקרים אלו. מקווה שהסברתי עצמי כראוי.
באארור ששמים לב. וזה ממש כיף לגלות דברים חדשים מידי פעם.
לא בדיוק הבנתי, ניתן להכניס שם סניפט בעברית? מתגובה אחת למעלה נראה שאין לכתוב את שם הסניפט בעברית.. או שלא הבנתי את התגובה?
אני רוצה להוסיף קטגוריה חדש של "מתכונים" הוסף מתכון חדש וכו' כמו פוסטים אבל עם שם אחר. יש לי 2 שאלות:
1. לא הבנתי היכן אני מעתיק את הקוד השני. "נוסיף כמה הגדרות למערך הריק בקוד מעלה ($args):" היכן בדיוק מוסיפים, מהו "מערך הריק"? אשמח לדוגמה לקוד השלם לאחר הדבקה.
2. היכן אני מוסיף את המילים בקוד "מתכונים" הוסף מתכון חדש" וכו'.
תודה רבה
היי דוד,
הנה הקוד השלם עבורך:
הי !
אני רואה את הפוסט בלוח הבקרה, אבל כשאני פותח את הקישור שלו אני מגיע לדף 404, מה קרה ?
כנס להגדררות > קישורים (permalinks) ושמור את הקישורים הישירים..
שלום,
יש לי אתר מולטיסייט ויש בו דפים, פוסטים וגם פוסטים שמשתמשים בשדות מותאמים. עכשיו אני צריכה להעביר אליו עוד אתר שמשתמש רק בסוגי תוכן מותאמים ואין לו בכלל את האפשרות של post רגיל. לדעתי השתמשו בו לשדות המותאמים, כבר היה לי בעבר מקרה כזה והצליחו להחזיר לי גם את האפשרות להשתמש בפוסט.
יש לך רעיון? תודה
היי אירית,
אני קצת מבולבל מהשאלה שלך (שדות מותאמים או פוסטים מותאמים?). אם תנסחי מחדש אנסה לעזור….. 🙂
היי אשמצח לקבל את המספר שלך לגבי משימה שיש לי ואצטרך עזרה בתשלום כמובן
היי עידן,
פנה אליי דרך טופס צור קשר בבקשה..
היי, רציתי לשאול לגבי פוסטים מותאמים אישית: אני עובד עם וורדפרס, אלמנטור & crocoblock. אני רוצה ליצור בלוג שהמבנה שלו די דומה לבלוג הזה, עם מפתח עניינים (ניווט מהיר).
אם אני בונה עם עורך הבלוקים הבסיסי בוורדפרס, זה יכול לקחת הרבה מאד זמן להעלות כל פוסט. ולכן רציתי לבנות תבנית עם שדות מותאמות אישית ומוגדרות מראש..
מקווה שהבנת 🙂
אבל השאלה שלי האם זו דרך נכונה ליצור בלוג שמקודם גם ב-S.E.O? והאם אתם ממליצים לעשות את זה?
הי רועי,
אם מעוניינים להסיר את הסלאג של ה cpt,
האם יש דרך נכונה לעשות זאת דרך הקוד או מצריך שימוש בתוסף / קוד נוסף?
היי ענת, נסי את הפתרון הבא. אשמח אם תאמרי לי אם הוא עבד לך או לא…
הי רועי, תודה רבה על המענה!
לקח לי זמן לענות כי החזרת אותי חזרה לחיפוש…:) למרות הדילמה אותה אסביר למטה, ניסיתי, לאחר שווידאתי שיש לי גיבוי לאתר… 😉
ניסיתי את התשובה של Matt Keys, אך יתכן שעשיתי טעות במשהו וזה השפיע לרעה גם על עמודי קטגוריות (הרגילות באתר) שאי אפשר היה להכנס אליהם, וגם לא הצלחתי להכנס לעמוד ארכיון של ה CPT. למזלי לפני הניסיון הזה ווידאתי שיש לי גיבוי לאתר והייתי בהיכון לשחזור…
בנוסף ניסיתי את הפתרון שהוצג פה…הפעם האתר לא השתבש אבל גם פה יכול להיות שעשיתי טעות בדרך כי זה לא הסיר לי את הסלאג. עקרונית הייתי בדילמה אם בכלל ליישם פתרון כלשהו, כי פתרונות שעבדו בעבר בשלב מסוים הפסיקו לעבוד, ככל הנראה עם עדכוני גרסאות של וורדפרס.
ראיתי שיש כאלו שהציעו בעבר פתרון של קוד ועברו לשימוש בתוסף, בין היתר הוזכר Permalink Manager Lite. כרגע מתלבטת אם להסתמך על תוסף, או להשאיר את הפרמלינק היפה שלי כמו שהוא… 🙂