सरल प्रश्न। जब पेजिंग सक्रिय होता है, तो URL बदल जाता है "site.com/page/2"
। मेरी साइट के लिए, यह होना चाहिए "site.com/paggetto/2"
।
मैं उस नियम को कैसे बदल सकता हूं? मैं भी बदलना चाहता हूं "author"
और अन्य चर।
सरल प्रश्न। जब पेजिंग सक्रिय होता है, तो URL बदल जाता है "site.com/page/2"
। मेरी साइट के लिए, यह होना चाहिए "site.com/paggetto/2"
।
मैं उस नियम को कैसे बदल सकता हूं? मैं भी बदलना चाहता हूं "author"
और अन्य चर।
जवाबों:
जर्मन में कुछ साइटों के लिए मैं (जर्मन शब्द के लिए ) अनुवाद page
करने के लिए निम्नलिखित प्लगइन का उपयोग करता हूं :seite
page
<?php # -*- coding: utf-8 -*-
/**
* Plugin Name: T5 Page to Seite
* Description: Ersetzt <code>/page/</code> durch <code>/seite/</code>.
* Author: Fuxia Scholz
* License: MIT
* License URI: http://www.opensource.org/licenses/mit-license.php
*/
if ( ! function_exists( 't5_page_to_seite' ) )
{
register_activation_hook( __FILE__ , 't5_flush_rewrite_on_init' );
register_deactivation_hook( __FILE__ , 't5_flush_rewrite_on_init' );
add_action( 'init', 't5_page_to_seite' );
function t5_page_to_seite()
{
$GLOBALS['wp_rewrite']->pagination_base = 'seite';
}
function t5_flush_rewrite_on_init()
{
add_action( 'init', 'flush_rewrite_rules', 11 );
}
}
ध्यान दें कि आप केवल डी / सक्रियण पर फिर से लिखना नियमों को फ्लश करते हैं । .htaccess
नए URL में पुराने URL को पुनर्निर्देशित करने के लिए आपको एक अलग पुनर्लेखन नियम की आवश्यकता होगी :
RedirectMatch Permanent ^/(.*)/page/(.*) /$1/seite/$2
पता लगाया:
function re_rewrite_rules() {
global $wp_rewrite;
// $wp_rewrite->author_base = $author_slug;
// print_r($wp_rewrite);
$wp_rewrite->author_base = 'autor';
$wp_rewrite->search_base = 'buscar';
$wp_rewrite->comments_base = 'comentarios';
$wp_rewrite->pagination_base = 'pagina';
$wp_rewrite->flush_rules();
}
add_action('init', 're_rewrite_rules');
कम से कम, वह काम करेगा।
$wp_rewrite->flush_rules();
प्रदर्शन के मामले में यह कितना महंगा है, आपको इसे कभी भी उपयोग नहीं करना चाहिए init
, एक बेहतर विकल्प सिर्फ पर्मलिंक विकल्प पृष्ठ पर जाना है, और कुछ बार परिवर्तनों को सहेजना है, जो आपके लिए उन्हें बहा देगा। ।
यह फ़ंक्शन आपके अनुवाद पैकेज के साथ सीधे काम करेगा, आपके नए आधार को प्रारूपित करेगा और आपके ब्लॉग के खराब प्रदर्शन से बचने के लिए फ़्लश_उपकरण_यात्रा फ़ंक्शन को एक से अधिक बार चलाने से रोकेगा।
function my_change_rewrite_base() {
global $wp_rewrite;
$bases = array(
'author' => __('Author'),
'search' => __('Search'),
'comments' => __('Comments)',
'pagination' => __('Page')
);
foreach ($bases AS $key => $base) {
$wp_rewrite->{$key} = remove_accents(mb_strtolower($base));
}
if ( ! get_option('my_change_rewrite_base_flushed', false) ) {
flush_rewrite_rules();
update_option( 'my_change_rewrite_base_flushed', time());
}
}
add_action('init', 'my_change_rewrite_base');
निम्नलिखित ने मेरे लिए काम किया:
function nw_strana() {
$GLOBALS['wp_rewrite']->pagination_base = 'strana';
}
add_action( 'init', 'nw_strana' );
function nw_rewrite( $rules ) {
$new_rules = array(
'obchod/strana/([0-9]{1,})/?$' => 'index.php?post_type=product&paged=$matches[1]',
);
$rules = array_merge( $new_rules, $rules );
return $rules;
}
add_filter( 'rewrite_rules_array', 'nw_rewrite' );