私はUniversity Hubテーマ http://wenthemes.com/item/wordpress-themes/university-hub/ を使用しています。解決策が見つかりませんでした。サイトの各ページのメインロゴを変更したいです。私はCSSでヘッダーの背景色を変更することができましたが、ロゴのためにそれは私がこのテーマのためのカスタムソリューションを必要としているようですが、私は本当にそれをする方法を知りません。ありがとうございます。 :D P.D .:私はすでに子供のテーマを使っています。
Functions.phpファイルのbodyクラスにフィルタを追加します。これはpage/post/cpt slugに基づくクラスを追加します。
PHP:
/**
*
* Add Page/Post Body Class Slug
*
* post-slug-for-post
* page-slug-for-page
*
*
*/
function yourprefix_page_slug_body_class( $classes ) {
global $post;
if ( isset( $post ) ) {
$classes[] = $post->post_type . '-' . $post->post_name;
}
return $classes;
}
add_filter( 'body_class', 'yourprefix_page_slug_body_class' );
それから私はボディクラスに基づいてsrcを交換するためにjQueryを使うでしょう。あなたは、パス変数と、ロゴimgが置かれている親クラスを変更する必要があるでしょう(例では.site-branding
を使用しています)。
jQuery
( function( window, $, undefined ) {
'use strict';
$( document ).ready( function( ) {
/* ==== change logo based on body class ===
// default logo and path
var path = 'http://yourdomain.com/wp-content/uploads/',
logo = 'logo-1.png'; // this is the default
// logo 2 conditional change var value
if ( $( 'body' ).is( '.page-such-and-such' ) ) {
logo = 'logo-2.png';
}
// logo 3 conditional change var value
if ( $( 'body' ).is( '.post-such-and-thing' ) ) {
logo = 'logo-3.png';
}
// return the logo src
$( '.site-branding img' ).attr( 'src', path + logo );
// end swapping logo
} ); //* end ready
} )( this, jQuery );
コードエディタ名をswapping-logo.js(またはその他)にしてドキュメントを作成し、jQueryをdepとしてエンキューします。あなたのテーマにjsを追加する方法はいたるところにあります。
これはWordPressに固有のものではありませんが、ヘッダーフックを削除してカスタムフィールドの画像または機能のある画像メタボックスで追加することができます。それから、 university_hub_action_header
の安全性から、あなたのヘッダフックchild theme
を使って出力してください。
または
カスタムフィールドまたは投稿のサムネイルを入力として使用してカスタムロゴをフィルタリングできます。