こんにちは、
まるっきりのアテズッポですが、
array_diff()
は、何かしらのスクリプトやスタイルの読み込みを、やめたりする場合に使うケースが多いです。例えば、絵文字を読みこまないようにしているとか、
チャイルドテーマで、パスが変わるというやつは、親テーマのスタイルをコピーしてチャイルドテーマに貼り付けた なんて場合に起きます。
そのような作業やっていませんか?
nobitaさん
回答ありがとうございます。
絵文字の読み込みはfunctions.phpで下記を記述しています。
function disable_emoji() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
}
親テーマはブランクテーマでスタイルのコピーはしていません。
子テーマ内で別のcssファイル内容をコピーして使ってはいます。
この2つは該当する記述は削除した方がいいのでしょうか?
絵文字のフィルターそれだけですか?
関数名は、わかりませんけど 以下のようなフィルター使っていませんか?
add_filter( 'tiny_mce_plugins', 'disable_emojicons_tinymce' );
function disable_emojicons_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {// ここの部分がないと 配列じゃないよってエラーが出るかも、、、
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}
}
またコピー元と画像への相対パスが変わってしまいました。
書き換わった原因はわかりませんが、元が、../test.jpg
ってことだと、チャイルドテーマのホルダーと同じ階層に、test.jpgが置いてあるってことになるのですが、ほんとにその場所に置いてあるんですか?
nobitaさん
回答ありがとうございます。
確認しましたが、そのコードは親テーマにも子テーマにもなかったです。
また../test.jpg
ですが、このファイルはwordpressの初期の保存場所であるuploadフォルダです。
(年月ベースのフォルダチェックは外しています。)
相対パスの階層を色々試しましたがなぜか../test.jpg
でしか表示されませんでした。
ホルダーは、upload ではなく uploads ですよね
#hello-world{
background:url(../../uploads/404.jpg);
height:300px;
border:1px solid;
}
投稿で、
<div id="hello-world"></div>
相対パスの階層を色々試しましたがなぜか../test.jpgでしか表示されませんでした。
は、考えにくいです。wp-content/themes/あたりに該当する画像がないかどうか、FTPでチェックしてみてください。
そのコードは親テーマにも子テーマにもなかったです。
すみません。emojiの問題ではなさそうでした。
エラーの発生場所確認しました。ウィジェットのエラーのようなので、
ウィジェットのページに移動して、「使用停止中のウィジェットをクリア」を押してみて、改善しませんか?
もしだめなら、セットしてあるウィジェットを外して、「使用停止中のウィジェットをクリア」を押して、一度ブログを開いてから、ウィジェットページに移動して、ウィジェットをセットしなおしてみて再度確認してみてください。
nobitaさん
回答ありがとうございます。
Wordpressの設定>パーマリンク設定で
投稿名で選択されているのをカスタム構造にし保存するとリンクも画像の問題も解決されました。
(保存後も投稿名に選択されたままですが)