При розробці інтернет-магазину на базі WooCommerce одним із ключових аспектів, які варто врахувати, є належна налаштування структури посилань на товари. Це важливий аспект для пошукової оптимізації та зручності користувачів. Один із способів налаштування цієї структури – використання функції add_rewrite_rule()
у WordPress. У цій статті ми розглянемо докладніше процес оптимізації структури посилань на товари в WooCommerce з використанням add_rewrite_rule()
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
add_filter('post_type_link', 'custom_product_permalink', 1, 2); function custom_product_permalink($link, $post) { if ($post->post_type == 'product') { // Convert the entire URL to lowercase return strtolower(home_url('shop/product/' . $post->post_name . '-' . get_post_meta($post->ID, '_sku', true) . '/')); } else { return $link; } } add_action('init', 'custom_product_permalink_rewrite_rules'); function custom_product_permalink_rewrite_rules() { add_rewrite_rule( 'shop/product/([^/]+)-([^/]+)/?$', 'index.php?post_type=product&name=$matches[1]&sku=$matches[2]', 'top' ); flush_rewrite_rules(); } |
1 2 3 4 5 |
<p>Налаштування структури посилань на товари в WooCommerce може бути нескладною задачею з використанням функції <code>add_rewrite_rule()</code>. Однак, перед тим як реалізувати цей метод, важливо розібратися в деяких ключових моментах.</p> <p>В першу чергу, необхідно визначити бажану структуру посилань. У вихідному коді, наведеному вище, ми використовуємо структуру, де товари мають посилання виду <em>my-website.com/shop/product/product_name-sku</em>. Проте, якщо вам необхідно змінити цю структуру на щось інше, вам слід вказати ці зміни у функції <code>custom_product_permalink()</code>.</p> <p>Далі, важливо врахувати, що функція <code>add_rewrite_rule()</code> виконується під час ініціалізації WordPress за допомогою хука <code>init</code>. У нашому випадку, ми використовуємо цю функцію для визначення правила перезапису, яке забезпечить перенаправлення запитів на відповідні сторінки товарів.</p> <p>Крім того, важливо пам'ятати про виклик функції <code>flush_rewrite_rules()</code>. Цей виклик необхідний для того, щоб WordPress оновив правила перезапису після додавання нового правила. Без цього виклику, нові правила не будуть застосовуватися.</p> <p>Загалом, використання функції <code>add_rewrite_rule()</code> для налаштування структури посилань на товари в WooCommerce є ефективним і зручним методом. Він дозволяє розширити можливості магазину і підвищити зручність користувачів. Проте, перед використанням цього методу варто докладно розібратися в його реалізації та впливі на роботу сайту.</p> |