みんな大好きWordpress。そのWordpressでめちゃめちゃ有名なプラグインがAdvanced Custom Fieldですよね(以下ACF)。そのACFで設定した値をcssに出力して、ホームページの変化を加えるようにする方法をご紹介します。
目次
当然ながらCSSファイルにACFの出力コードを記入しても動きません。
ですので、CSSの元となるphpを作って、そこにACFの出力コードを書き、カスタムフィールドが更新されるとその内容がphpに入り、同時に新しくCSSとして出力するといった処理を行います。
前置きはいいので早速やっていきます。
functions.phpに以下の内容を書きます。コピペで大丈夫です。functions.phpは書き方を間違えるとえらいことになるので注意してください。
[php]
function generate_options_css() {
$ss_dir = get_stylesheet_directory();
ob_start();
require($ss_dir . ‘/好きな名前.php’);//好きな名前でphpを作ってアップロードしておいてね
$css = ob_get_clean();
file_put_contents($ss_dir . ‘/好きな名前.css’, $css, LOCK_EX);
//なんでもいいので好きな名前をつける。実際にcssファイルを作る必要はありません。
}
add_action( ‘acf/save_post’, ‘generate_options_css’, 20 );
[/php]
次にその好きな名前.phpに以下を記述。
[php]
<?php
header(‘Content-Type: text/css; charset=utf-8’);
include_once( ‘config.php’ );
?>
[/php]
基本的にはこれでOKです。 そしてカスタムフィールドの出力を先ほどの好きな名前.phpに書いていきます。 例えばこんな感じ。
[php]
<?php if( get_field(‘フィールド名’) ) { ?>
body{background-color:<?php the_field(‘フィールド名’); ?>;}
<?php } ?>
[/php]
こうすることでそのカスタムフィールドが更新されると、自動的に好きな名前.cssが生成されますので、
ファイルへのパスをheader.phpとかに書いてあげればサイトに反映されます。
もしACFのプロ版をお使いの方でオプションページを作成している方はこのように
[php]
<?php if( get_field(‘フィールド名’,’options’) ) { ?>
body{background-color:<?php the_field(‘フィールド名’,’options’); ?>;}
<?php } ?>
[/php]
‘options’をつけるのを忘れないでくださいね。(これよく忘れるw)
もしページごとになんらかの変化を加えたい(ページごとに背景を変えたいとかフォントファミリーを変えたいとかまあ色々)場合はページのループの中にこういうことをすればいいと思います。
[php]
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="post-<?php the_ID(); ?>">
<!– なんか書く –>
</div>
<?php endwhile; endif;>
[/php]
[php]
<?php query_posts(‘post_type=page’); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
.post-<?php the_ID(); ?>{
<?php if( get_field(‘フィールド名’) ) { ?>
background-color:<?php the_field(‘フィールド名’); ?>;
<?php } ?>
}
<?php endwhile; endif;>
[/php]
ループも使えるので、こんな感じのことを書けばページごとの処理が可能になります。ページIDから数字が自動的に生成されて、それにCSSが記述されます。
お客様がなんか自分で設定したいとか仰られるような案件には使えるかもですねー。
コーポレートサイトは企業の看板となるウェブサイトです。顧客とのファーストコンタクトになる場合が多いので、ブランディング視点で企業を魅力的に伝えるホームページを構築いたします。
ブランドサイトや集客サイトはお問い合わせなど、コンバージョンの獲得を強く意識したホームページになります。クライアントの事業内容によって、コーポレートサイトをそのまま集客の核とする場合と、別途ブランドサイトや集客サイトを作ってブランディングを行う場合があります。
採用サイトは、コーポレートサイトと同様、求職者の心に響くためのブランディング視点が必要になります。求職者の琴線に触れる非金銭的ポイントと貴社の強みや特徴をきちんと整理し、伝わるサイトを制作いたします。
検索ユーザーだけでなく、潜在ユーザーにも適切にアプローチできるFacebookやInstagramなどのSNS広告を運用します。
エリアや年齢性別など、細かくターゲットをセグメントし、適切なユーザーへアプローチします。
近年重要視されているMEO(Map Engine Optimization)
Googleマップでの検索結果において上位表示させる対策です。アルラボではGoogleマイビジネスの最適化のほか、サイテーション施策など、上位表示に必要なノウハウをご提供可能。
私たちは、お客様のビジネスを成長させ、
より前に進ませるためにともに考え、創るWeb制作会社です。
ホームページの新規・リニューアル制作から
ブランディング・広告運用・SEO対策などWeb集客導線を作ります。
ホームページ制作・広告運用・SEOなど
ご相談はお気軽にご相談ください。
お電話でのご相談も随時受け付けております。
お気軽にご連絡ください。
0952-20-1501(佐賀)
092-717-3446(福岡)
営業時間:9:00~17:00(休業日:土日祝)