質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

解決済

【wp】ヘッダーの背景画像をランダムで表示したい。

yujiG
yujiG

総合スコア0

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

1回答

1評価

1クリップ

2585閲覧

投稿2017/03/17 05:00

編集2022/01/12 10:58

wpのテーマを編集しています。
ヘッダーにある画像をランダムに表示するようにしたいのですが、うまくいきません。

編集中のサイトがこちらでhttp://garu\.but\.jp/wp/
テーマがこちらですhttps://ja\.wordpress\.org/themes/freesia-empire/

ヘッダーの背景画像は、固定ページを読み込んでいます。

以下が、ヘッダーの背景画像を読み込んでいる(であろう)phpソースになります。

途中で日本語のコメントアウトがあるので、そこまでは読み飛ばしてください

php

<\?php /\*\* \* Custom functions \* \* @package Theme Freesia \* @subpackage Freesia Empire \* @since Freesia Empire 1\.0 \*/ /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* Set Default Value if not set \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/ if \( !get_theme_mod\('freesiaempire_theme_options'\) \) { set_theme_mod\( 'freesiaempire_theme_options', freesiaempire_get_option_defaults_values\(\) \); }/\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* freesiaempire RESPONSIVE AND CUSTOM CSS OPTIONS \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/ function freesiaempire_resp_and_custom_css\(\) { \$freesiaempire_settings = freesiaempire_get_theme_options\(\); if\( \$freesiaempire_settings\['freesiaempire_responsive'\] == 'on' \) { \?> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <\?php } else{ \?> <meta name="viewport" content="width=1070" /> <\?php } } add_filter\( 'wp_head', 'freesiaempire_resp_and_custom_css'\); /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* USED CLASS FOR BODY TAGS \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/ function freesiaempire_body_class\(\$classes\) { global \$freesiaempire_site_layout, \$freesiaempire_content_layout, \$post; \$freesiaempire_settings = freesiaempire_get_theme_options\(\); if \(\$post\) { \$layout = get_post_meta\(\$post->ID, 'freesiaempire_sidebarlayout', true\); } \$freesiaempire_site_layout = \$freesiaempire_settings\['freesiaempire_design_layout'\]; \$freesiaempire_blog_layout_temp = \$freesiaempire_settings\['freesiaempire_blog_layout_temp'\]; \$freesiaempire_content_layout = \$freesiaempire_settings\['freesiaempire_sidebar_layout_options'\]; if \(empty\(\$layout\) || is_archive\(\) || is_search\(\) || is_home\(\)\) { \$layout = 'default'; } if\(!is_page_template\('page-templates/freesiaempire-corporate\.php'\)\) { if \('default' == \$layout\) { \$themeoption_layout = \$freesiaempire_content_layout; if \('left' == \$themeoption_layout\) { \$classes\[\] = 'left-sidebar-layout'; } elseif \('right' == \$themeoption_layout\) { \$classes\[\] = ''; } elseif \('fullwidth' == \$themeoption_layout\) { \$classes\[\] = 'full-width-layout'; } elseif \('nosidebar' == \$themeoption_layout\) { \$classes\[\] = 'no-sidebar-layout'; } } elseif \('left-sidebar' == \$layout\) { \$classes\[\] = 'left-sidebar-layout'; } elseif \('right-sidebar' == \$layout\) { \$classes\[\] = '';//css blank } elseif \('full-width' == \$layout\) { \$classes\[\] = 'full-width-layout'; } elseif \('no-sidebar' == \$layout\) { \$classes\[\] = 'no-sidebar-layout'; } if\(\$freesiaempire_blog_layout_temp == 'large_image_display'\){ \$classes\[\] = "blog-large"; }elseif \(\$freesiaempire_blog_layout_temp == 'medium_image_display'\){ \$classes\[\] = "small_image_blog"; } } if \(!is_page_template\('page-templates/freesiaempire-corporate\.php'\) && !is_page_template\('alter-front-page-template\.php'\) \){ \$classes\[\] = ''; }elseif \(is_page_template\('page-templates/freesiaempire-corporate\.php'\)\) { \$classes\[\] = 'tf-business-template'; \$classes\[\] = 'page-template-default'; } if \(is_page_template\('page-templates/page-template-contact\.php'\)\) { \$classes\[\] = 'contact'; } if \(\$freesiaempire_site_layout =='boxed-layout'\) { \$classes\[\] = 'boxed-layout'; } if \(\$freesiaempire_site_layout =='small-boxed-layout'\) { \$classes\[\] = 'boxed-layout-small'; } return \$classes; } add_filter\('body_class', 'freesiaempire_body_class'\); /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* wp_enqueue_script \*\*\*\*\*\*\*\*\* \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/ function freesiaempire_jquery_javascript_file\(\$hook\) { if\( \$hook != 'widgets\.php' \) return; wp_enqueue_script\( 'freesiaempire-script', get_template_directory_uri\(\) \. '/inc/js/freesia-empire-image-upload\.js'\); wp_enqueue_media\(\); } add_action\( 'admin_enqueue_scripts', 'freesiaempire_jquery_javascript_file' \); /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* SOCIAL MENU \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/ function freesiaempire_social_links\(\) { if \( has_nav_menu\( 'social-link' \) \) : \?> <div class="social-links clearfix"> <\?php wp_nav_menu\( array\( 'container' => '', 'theme_location' => 'social-link', 'depth' => 1, 'items_wrap' => '<ul>%3\$s</ul>', 'link_before' => '<span class="screen-reader-text">', 'link_after' => '</span>', \) \); \?> </div><!-- end \.social-links --> <\?php endif; } add_action \('social_links', 'freesiaempire_social_links'\); /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* DISPLAY BREADCRUMBS \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/ function freesiaempire_breadcrumb\(\) { if \(function_exists\('bcn_display'\)\) { \?> <div class="breadcrumb home"> <\?php bcn_display\(\); \?> </div> <!-- \.breadcrumb --> <\?php } } /\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* freesiaempire PAGE SLIDERS \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*/ function freesiaempire_page_sliders\(\) { \$freesiaempire_settings = freesiaempire_get_theme_options\(\); \$excerpt = get_the_excerpt\(\); global \$freesiaempire_excerpt_length; global \$post; \$freesiaempire_page_sliders_display = ''; \$freesiaempire_total_page_no = 0; \$freesiaempire_list_page = array\(\); for\( \$i = 1; \$i <= \$freesiaempire_settings\['freesiaempire_slider_no'\]; \$i\+\+ \){ if\( isset \( \$freesiaempire_settings\['freesiaempire_featured_page_slider_' \. \$i\] \) && \$freesiaempire_settings\['freesiaempire_featured_page_slider_' \. \$i\] > 0 \){ \$freesiaempire_total_page_no\+\+; \$freesiaempire_list_page = array_merge\( \$freesiaempire_list_page, array\( esc_attr\(\$freesiaempire_settings\['freesiaempire_featured_page_slider_' \. \$i\] \)\) \); } } if \( !empty\( \$freesiaempire_list_page \) && \$freesiaempire_total_page_no > 0 \) { \$freesiaempire_page_sliders_display \.= '<div class="main-slider"> <div class="layer-slider">'; \$get_featured_posts = new WP_Query\(array\( 'posts_per_page'=> \$freesiaempire_settings\['freesiaempire_slider_no'\], 'post_type' => array\('page'\), 'post__in' => \$freesiaempire_list_page, 'orderby' => 'post__in', \)\); \$j=1; \$i=0; while \(\$get_featured_posts->have_posts\(\)\):\$get_featured_posts->the_post\(\); // 多分ここから下のソースで画像を呼び出している // get_post_thumbnail_idを使って、固定ページのサムネイルを呼び出して // wp_get_attachment_image_srcを使ってurlにしている \$attachment_id = get_post_thumbnail_id\(\); \$image_attributes = wp_get_attachment_image_src\(\$attachment_id,'freesiaempire_slider_image'\); \$i\+\+; \$title_attribute = apply_filters\('the_title', get_the_title\(\$post->ID\)\); \$excerpt = substr\(get_the_excerpt\(\), 0 , 160\); if \(1 == \$i\) {\$classes = "slides show-display";} else { \$classes = "slides hide-display";} \$freesiaempire_page_sliders_display \.= '<div class="'\.\$classes\.'">'; // 多分↓のソースでurlに入れている if \(\$image_attributes\) { \$freesiaempire_page_sliders_display \.= '<div class="image-slider clearfix" title="'\.the_title\('', '', false\)\.'"' \.' style="background-image:url\(' \."'" \.esc_url\(\$image_attributes\[0\]\)\."'" \.'\)">'; } // やってみた事 // >>shuffle\(\$image_attributes\)とかshuffle\(\$attachment_id\)してみた // 配列になっているなら、混ぜとけばいいのでは?と思ったけど失敗 // 予想 // >>get_post_thumbnail_id\(\)では、一つのidしか取ってきていない // やりたい事 // get_post_thumbnail_id\(\)で取り出す固定ページをランダムにしたい! ソースコードが終わった後も記述あります! if \(\$title_attribute != '' || \$excerpt != ''\) { \$freesiaempire_page_sliders_display \.= '<div class="container">'; if\(\$j == 1\){ \$freesiaempire_page_sliders_display \.= '<article class="slider-content clearfix freesia-animation fadeInRight">'; }else{ \$freesiaempire_page_sliders_display \.= '<article class="slider-content clearfix">'; } \$remove_link = \$freesiaempire_settings\['freesiaempire_slider_link'\]; if\(\$remove_link == 0\){ if \(\$title_attribute != ''\) { \$freesiaempire_page_sliders_display \.= '<h2 class="slider-title"><a href="'\.get_permalink\(\)\.'" title="'\.the_title\('', '', false\)\.'" rel="bookmark">'\.get_the_title\(\)\.'</a></h2><!-- \.slider-title -->'; } }else{ \$freesiaempire_page_sliders_display \.= '<h2 class="slider-title">'\.get_the_title\(\)\.'</h2><!-- \.slider-title -->'; } \$freesiaempire_page_sliders_display \.='</article><!-- end \.slider-content --> </div><!-- end \.container -->'; } \$freesiaempire_page_sliders_display \.='</div><!-- end \.slides -->'; \$j\+\+; endwhile; wp_reset_postdata\(\); } echo \$freesiaempire_page_sliders_display; } // このコードは文字数の関係上、最後の方をカットしました。 \?>

固定ページは多くあるのですが

wpデフォルトのカスタマイズで指定したページのサムネイル画像を上から順に選択しています!

![![イメージ説明](eb0fb70deacbb10eb401a8cee951c4a6.png)

大雑把な質問で申し訳ありません。
何か少しでも良いので、こうしてみれば?みたいな助言をいただきたいです。
私ならこうする等でも構いません。

どうかお願いします。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

kei344
kei344

2017/03/17 05:04

WordPressテーマはテーマ名と取得したURLを質問文に追記ください。(URLにはリンクを張ることができます)
yujiG
yujiG

2017/03/17 05:13

ありがとうございます。テーマのURLを載せてみましたが、これで大丈夫ですか??
yujiG
yujiG

2017/03/17 05:24

知りませんでした!ありがとうございます。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。