लोग यह सवाल पूछते रहते हैं, लेकिन लोग इसे डुप्लिकेट के रूप में चिह्नित करते रहते हैं। हालांकि, इसके लिए चुना गया उत्तर वास्तव में प्रश्न का उत्तर नहीं है।
वर्डप्रेस एडमिन का नाम बदलने के लिए आपको दो कदम उठाने होंगे।
निम्नलिखित कोड में मैं अपने नए wp-admin के नाम के रूप में डैशबोर्ड का उपयोग कर रहा हूं। नीचे दिए गए कोड में डैशबोर्ड बदलें जिसे आप अपने नए व्यवस्थापक का नाम देना चाहते हैं।
सबसे पहले आपको वर्डप्रेस बताने की ज़रूरत है जिसे आप व्यवस्थापक url को बदलना चाहते हैं।
2558 लाइन पर wp- / link-template.php वह कोड है जो एडमिन url को नष्ट कर देता है।
admin_url
फ़िल्टर का उपयोग करके आप निम्न फ़ंक्शन के साथ व्यवस्थापक के url को सफलतापूर्वक बदल सकते हैं:
function my_custom_admin_url($path) {
return str_replace('wp-admin', 'dashboard', $path);
}
add_filter('admin_url', 'my_custom_admin_url');
आप यह देखने के लिए परीक्षण कर सकते हैं कि ऐसा करने से आपका नया यूआरएल क्या है:
function whats_my_admin_url() {
$url = admin_url();
echo '<pre><code>'; print_r( $url ); echo '</code></pre>';
}
add_action( 'admin_notices', 'whats_my_admin_url' );
हालाँकि, यदि आप उस एडमिन से क्लिक करते समय नोटिस करेंगे कि सब कुछ काम नहीं करता है और कुछ लिंक आपको 404 न मिले या कुछ समान नहीं मिल सकता है।
दूसरा, अपने वर्डप्रेस रूट डायरेक्टरी में .htaccess को बदलें और कुछ और से पहले भीख मांगने में निम्न जोड़ें।
#CUSTOM ADMIN URL REWRITE
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^dashboard[^/]*$ dashboard/ [R=301,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^dashboard(.*)$ wp-admin$1? [QSA,L,NE]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/?$ / [NE,R=404,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/(.*)$ dashboard/$1 [QSA,R=301,L,NE]
</IfModule>
#CUSTOM ADMIN URL REWRITE
अब, जब मैं संपादन करने की बात करता हूँ तो मैं कोई विशेषज्ञ नहीं हूँ। इसलिए इसमें से कुछ आवश्यक नहीं हो सकता है। हालाँकि, मैंने कभी यह काम नहीं किया है।
यहाँ पूरी बात है। अपने प्लगइन्स फ़ोल्डर या म्यू-प्लगइन्स फ़ोल्डर में एक फ़ाइल बनाएं और ड्रॉप करें। (डैशबोर्ड के हर उदाहरण को अपने पसंदीदा व्यवस्थापक url में बदलना याद रखें)
<?php
/**
* Plugin Name: Change My Admin URL
* Plugin URI: http://wordpress.stackexchange.com/questions/106/can-i-rename-the-wp-admin-folder
* Description: Changes the admin url where wp-admin becomes dashboard (or whatever you change it to)
* Version: 1.0
* Author: Bryan Willis
* Author URI: http://profiles.wordpress.org/codecandid
* License: GPL2
*/
/*
#CUSTOM ADMIN URL REWRITE FOR HTACCESS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^dashboard[^/]*$ dashboard/ [R=301,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^dashboard(.*)$ wp-admin$1? [QSA,L,NE]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/?$ / [NE,R=404,L]
RewriteCond %{QUERY_STRING} (.*)$
RewriteRule ^wp-admin/(.*)$ dashboard/$1 [QSA,R=301,L,NE]
</IfModule>
#CUSTOM ADMIN URL REWRITE
*/
function my_custom_admin_url($path) {
return str_replace('wp-admin', 'dashboard', $path);
}
add_filter('admin_url', 'my_custom_admin_url');
मुद्दे?
मैंने इस पद्धति का उपयोग करते हुए एक वर्ष से अधिक समय में कोई काम नहीं किया है। आप देख सकते हैं कि wp-admin अभी भी किस प्रकार के बेकार काम करेगा, लेकिन यह किसी भी चीज़ से अधिक सावधानी है। मेरे पास कुछ खराब लिखित प्लगइन्स थे जो कुछ स्थानों पर हार्डकोड wp-admin थे जो wp-admin को ब्लॉक या रीडायरेक्ट करने की कोशिश करते समय लोड नहीं करेंगे। मुझे यकीन है कि htaccess के साथ ऐसा करने का एक तरीका है, लेकिन मैंने सफलतापूर्वक इसका पता नहीं लगाया है। इसके अलावा, यह कभी भी मल्टीसाइट या ऐसी किसी चीज़ पर परीक्षण नहीं किया गया है।
अद्यतन: वैकल्पिक दृष्टिकोण
यह काफी हद तक समान है, लेकिन किसी कारण से मेरे उपरोक्त उत्तर ने मेरे द्वारा किए गए प्रत्येक मेजबान पर काम नहीं किया।
में जोड़े .htaccess
RewriteRule ^admin/(.*) wp-admin/$1?%{QUERY_STRING} [L]
नामक म्यू-प्लगइन्स फ़ोल्डर में एक फ़ाइल बनाएं new-admin.php
और इसे वहां जोड़ें:
<?php
define('WP_ADMIN_DIR', 'admin');
defined('SITECOOKIEPATH') || define('SITECOOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('siteurl') . '/' ) );
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . WP_ADMIN_DIR);
add_filter('site_url', 'wpadmin_filter', 10, 3);
function wpadmin_filter( $url, $path, $orig_scheme ) {
$old = array( "/(wp-admin)/");
$admin_dir = WP_ADMIN_DIR;
$new = array($admin_dir);
return preg_replace( $old, $new, $url, 1);
}
नोट: यह दृष्टिकोण कुछ मेजबानों पर बेहतर काम करने के लिए लग रहा था, लेकिन फिर भी नए व्यवस्थापक एसएसएल के लिए wp-admin लिंक को पुनर्निर्देशित नहीं करने का मुद्दा था। यहाँ नीचे मैंने कोशिश की एक दृष्टिकोण है। जबकि यह नीचे काम नहीं करता है मुझे लगता है कि यह सही रास्ते पर है। मैं पूरी तरह से निश्चित नहीं हूं कि किस हुक का उपयोग करना है। htaccess एक बेहतर विकल्प हो सकता है, लेकिन जब मैंने इस तरह की कोशिश की तो मैं अप्रत्यक्ष छोरों को प्राप्त करता रहा।
add_action('init', 'redirect_wp_admin_url_to_404');
function redirect_wp_admin_url_to_404(){
$redirect_to = $_SERVER['REQUEST_URI'];
if(count($_REQUEST)> 0 && array_key_exists('redirect_to', $_REQUEST)){
$redirect_to = $_REQUEST['redirect_to'];
$check_wp_admin = stristr($redirect_to, 'wp-admin');
if($check_wp_admin){
wp_safe_redirect( '404.php' );
}
}
}
+1
उनके पास "नहीं" कहने के लिए एक प्राथमिकता है, बहुत अधिक बार वे कहते हैं कि "हाँ" तो बहुत आगे बढ़ना है :)