2

ローカル ホストで正常に動作する wp プラグインを作成しました。子テーマ ディレクトリを作成し、そこに home.php をコピーします。しかし、「ホーム」タブには、親テーマの古いコンテンツが表示されます。home.php の名前を index.php に変更した場合にのみ機能します。これは私のhome.phpです

<?php
get_header(); ?>

    <div id="container">
        <div id="content" role="main">

        </div><!-- #content -->
    </div><!-- #container -->

また、ブロックにテキストボックスを追加する必要がある /js フォルダーに script1.js ファイルがありますが、そうではありません。次のようにスクリプトを埋め込みます。

define('jsdir',plugin_dir_url(__FILE__).'js');
wp_enqueue_script('dk_js_myplugin',jsdir.'/script1.js',array('jquery'));

しかし、firebugはそれをページに表示しません。xampp を使用した wordpress のローカル インストールでは、両方の問題は存在しません。お時間をいただきありがとうございます。

4

5 に答える 5

1
define( 'jsdir', WP_PLUGIN_URL . '/' . dirname( plugin_basename( __FILE__ )) . '/js' );

dirname( plugin_basename( __FILE__ ))は、ディレクトリ内のプラグインの場所を返しますwp-content/pluginsplugin_basename()について読んでください。プラグインディレクトリへの定数WP_PLUGIN_URLリターン絶対パス。

プラグインのコードで試してみてください:

<?php

var_dump( WP_PLUGIN_URL );
var_dump( dirname( plugin_basename( __FILE__ )));

// output should be like this:
string(36) "http://domain.tld/wp-content/plugins" 
string(9) "my-plugin"

スクリプトを追加するための初期化関数:

add_action( 'init', 'plugin_register_css_js' );
function plugin_register_css_js()
{
    global $wp;
    $current_url = add_query_arg( $wp->query_string, '', home_url( $wp->request ) );

    if( $current_url == 'mypage' )
    {
        wp_enqueue_script( 'js', $jsdir . '/script1.js', array( 'jquery' ));
    }
}
于 2012-10-02T15:14:34.293 に答える
0

あなたは次のことをしましたか:

function load_dk_scripts() {
    wp_enqueue_script(
        'dk_js_myplugin',
        'http://david.onenonly.info/wp-content/plugi‌​ns/childtheme/js/script1.js',
        array('jquery')
    );
}
add_action('wp_enqueue_scripts', 'load_dk_scripts');
于 2012-10-04T05:50:27.913 に答える
0

FTP経由でアクセスできる場合は、パーミッションの問題が発生することがあります(そうすると思います)。パーミッションをいじってみてください。PHP エラーを有効にすることも役立つ場合があります。

ini_set('error_reporting', E_ALL );
ini_set('display_errors', 1 );
于 2012-10-02T15:16:27.710 に答える
0

Firebug を介して、script1.js ファイルが (404 エラーを生成せずに) 読み込まれることをリモート サーバーで確認できますか?

于 2012-10-02T15:16:29.210 に答える
0

script1.js ファイルは、ブラウザーによって「呼び出され」ません (添付の図を参照)。ここに画像の説明を入力

モジュールを再確認して、スクリプトがタグに読み込まれていることを確認することをお勧めします。

于 2012-10-03T07:29:19.370 に答える