web-dev-qa-db-ja.com

相対URLと/ wp-content/themes /を隠す

私の使いたいヘッダや他のセクションで

<script src="/incs/js/script.js"></script>

以下のようにサーバー内のデフォルトのテーマフォルダ構造を維持しながら

/wp-content/themes/theme-name/incs/js/script.js

ファイルが /wp-content/themes /テーマ名 を隠すようにする必要がある場合は、ブラウザ/ htmlソース経由でアクセスする必要があります。

http://website.com/incs/js/script.js

これは/incs/images/imagname.jpgの下にある可能性のある画像にも適用されます。

テーマフォルダの外側にあるディレクトリを定義するという解決策を見たことがありますが、それを実現する解決策が必要です。

これは可能ですか?

ありがとう

5
MonteCristo

あなたのテーマフォルダを移動する最も簡単な方法は定数を通してのみです。 wp-contentフォルダを含みます。プラグインフォルダとwp-contentフォルダには定数を設定できます。それから、フロントエンドのソースのインクルードにある別のURLにあなたのプラグインとテーマがあります。

私の開発者のインストールのためのこの例のように:

define( 'WP_CONTENT_DIR',  dirname( __FILE__ ) . '/wp-content' );
define( 'WP_CONTENT_URL',  'http://' . $_SERVER['HTTP_Host'] . '/wp-content' );
// Custom plugin directory
define( 'WP_PLUGIN_DIR',   dirname( __FILE__ ) . '/wp-plugins' );
define( 'WP_PLUGIN_URL',   'http://' . $_SERVER['HTTP_Host'] . '/wp-plugins' );
// Custom mu plugin directory
define( 'WPMU_PLUGIN_DIR', dirname( __FILE__ ) . '/wpmu-plugins' );
define( 'WPMU_PLUGIN_URL', 'http://' . $_SERVER['HTTP_Host'] . '/wpmu-plugins' );
5
bueltge

今日私はこのQで説明しているテクニックを使います。 サイトがWordPressを使っているという事実を隠すためのステップ?

その前に、私は Roots Theme method を使っていました。

この記事には、WordPressのコード出力をクリーンアップする方法に関する情報が含まれています。以下に説明する方法は実際のフィンガープリントを妨げるものではなく、いかなるセキュリティ対策とも見なされるべきではありません。

マルチサイトテーマや子テーマでは機能しません。


ここで、Rootsメソッドを使用したために行った文書を再現します。

.htaccess書き換えルールの変更

Rootsテーマから直接のコードの大きな塊:
https://Gist.github.com/433684 ペーストビンミラー
配列$roots_new_non_wp_rulesはそれに応じて調整する必要があります。

パーマリンクを更新

/wp-admin/options-permalink.phpに移動してクリック Save Changes

/wp-includes/からではなくCDNからスクリプトをロードする

add_action( 'wp_enqueue_scripts', 'wpse_76593_scripts_custom' );

function wpse_76593_scripts_custom() {
        wp_deregister_script('jquery');
        wp_register_script('jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js', false, '1.7.1', true);
        wp_enqueue_script( 'jquery' );
}

テーマを検索して、すべてのスタイルおよびスクリプトレジスタとエンキューを探します。

style.css

  1. 「style.css」という名前のフォルダ「/ css」内に新しいファイルを作成します。
  2. テーマのstyle.cssを開く
  3. 以下の宣言をすべて選択してください テーマファイルのヘッダ
  4. /css/style.cssファイルをカットアンドペーストします
  5. 両方を簡単に保存すると、/your-theme/styles.cssはヘッダー情報のみを含み、/your-theme/css/styles.cssはすべてのスタイルを含みます。

    • すべてのurl('fonts/url('../fonts/で変更する
    • すべてのimages/../images/で変更する

header.php

スタイルシートのリンクを

<link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo( 'stylesheet_url' ); ?>" />

<link rel="stylesheet" type="text/css" media="all" href="<?php echo get_template_directory_uri(); ?>/css/style.css" /> 

すべてのテーマファイル

検索する:

  • get_bloginfo('template_url')
  • get_bloginfo('template_directory')

そして、と交換してください。

  • get_template_directory_uri()

テスト

他のブラウザについてはわかりませんが、 Safariアクティビティウィンドウ は、ロードされたすべてのファイルとそのURLをチェックするのに最適です。

テーマの複雑さに応じて、追加の手順を実行する必要があります。

3
brasofilo

私は Roots Plug を作成しました。これはRootsテーマと同じ.htaccessリライトを持ちます。しかし@brasofolio が言ったことに完全に同意する

3
Zach

これは ' hide my wp 'プラグインを使うことで簡単に実現できます。以下のように、パーマリンクとURL設定を変更してください。

Change theme path under Permalinks & urls to /incs パーマリンクとURLの下のテーマパスを/incsに変更します。

これらの設定を変更すると、bloginfo('template_url')http://website.com/incs/をレンダリングします。

 http://website.com/incs/js/script.js

参照: http://howtomakewebsite.ws/wordpress-plugins/how-to-hide-wordpress/731/

1
vDog