「CSS」タグアーカイブ

ビジュアルエディター見た目を実際の投稿の色や見た目と揃える方法 WordPress BuddyPressカスタマイズメモ SANGOテンプレート

WordPressのビジュアルエディターで、H2やH3のをつけると、実際のCSSと違うようになるので、それを揃える方法

WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが投稿するようになると、投稿画面のビジュアルエディターの見た目と、サイトフロントの見た目を揃えておいた方がいい。

別のCSSを用意してそれをビジュアルエディター用のCSSとして読み込ませる必要がある。
 

投稿画面のプレビュー用の別のCSSを用意する

SANGOのテーマの場合は
library/css/editor-style.css
に投稿画面用のCSSが入っている。

それを子テーマに別のCSSを入れて読み込ませてみる。

//スタイルとビジュアルエディターの見た目を揃える
function correct_visual() {
add_editor_style(get_stylesheet_directory_uri() . '/library/css/editor-style.css');
}
add_action('admin_init', 'correct_visual', 20);
get_stylesheet_directory_uri()

とパスを書いておくことによって、子テーマのURLが取得されるのでこれでOK。

例えば、
「オレンジ見出し」を実際のページで青くした場合、オレンジのプレビューになるのに、実際のページでは青。

editor-style.css の中に

/*オレンジ見出し*/
body#tinymce.wp-editor .hh8 {
  padding: 0.5em;
  color: #494949;
  background: #fffaf4;
  border-left: solid 5px #ffaf58;
}

この color や、background の色を変えればいい。

cssで投稿画面の不要なスタイル、文字修飾(インデント、キーボードショートカットなど)オプションを非表示に WordPress BuddyPressカスタマイズメモ

投稿画面の不要なエディタボタンを非表示にする

WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになる。

WordPressで独特の文字修飾エディタがあるので、消しておこう。

インデントとかいらんね。
 

functions.php へ記述

エディタ周りは簡単にCSSで非表示にしておく。

//cssで不要物を消去

if (!current_user_can('administrator')) {
function my_admin_print_styles(){
 echo '<style type="text/css">'; //投稿のエディタボタン関連
  echo '#qt_content_em,';
  echo '#qt_content_block,';
  //echo '#qt_content_del,';
  echo '#qt_content_ins,';
  echo '#qt_content_img,';
  echo '#qt_content_ul,';
  echo '#qt_content_ol,';
  echo '#qt_content_li,';
  echo '#qt_content_code,';
  echo '#qt_content_more,';
  echo '#qt_content_close,';
  echo 'qt_content_fullscreen';
  echo '{display:none !important;}';
  echo '</style>';
}
add_action('admin_print_styles', 'my_admin_print_styles', 21);
}

「//」を頭につけると、コメントアウトなので、メニューからは削除されない。

上の例でいくと、例えば、「打消し線」も非表示にしたいなら、

//echo '#qt_content_del,';

  ↓

echo '#qt_content_del,';

“管理者”でメニューを削除したくない場合は、一番上と一番下の

if (!current_user_can('administrator')) {

}

を削除すればいい。
 

「スタイル」のプルダウンで出る文字修飾エディタ「Tiny MCE」の中身を変えるには別の記述が必要

TinyMCEの編集は下記参照。

・sango のビジュアルエディターのバグ修正(スマホでTinyMCEの文字修飾がおかしい)

ログイン時のみ一部メニューを非表示に(ログインしてる時だけ違うCSSを読み込ませてメニューを表示させる方法) WordPress BuddyPressカスタマイズメモ

WordPressで、ログインしてる人と、ログインしてない人で違うメニューを表示させる方法

 
WordPressのSNSプラグイン、BuddyPressを導入すると不特定多数のメンバーが参加することになる。

ログイン後にのみCSSを読み込ませて、デザインや配置、表示非表示を切り替えたい場合など。


  ↓↓↓

 

メニューで、非ログイン時に非表示にするものにclass付けする

管理画面の「メニュー」で、「表示オプション」の中の「CSSクラス」のチェックボックスにチェックを入れる。

CSS class(オプション)の部分に、ログイン後非表示にしたいモノにだけ「loggedin」と書いておく。

ちなみに、class名は何でもいい。

 

functions.php へ記述

//ログイン時のみCSS適用

function loggedin_css() {
if ( ! is_user_logged_in() ) :
echo '<style type="text/css">li.loggedin {display: none;}</style>';
endif;
}
add_action( 'wp_head', 'loggedin_css');
if (!is_user_logged_in())

で、ログインしているユーザーにだけ、スタイルを読み込ませる。

ちなみに、この例では外部CSSではないが、下記のように外部CSSにして読み込ませても同じことができる。

function loggedin_css() {
if ( ! is_user_logged_in() ) :
echo '<link rel="stylesheet" type="text/css" href="https://..../xxx.css">';
endif;
}
add_action( 'wp_head', 'loggedin_css');

https://…./xxx.css の部分にCSSのパスとファイル名を記入しておくこと。