-

Wordpressにお詳しい方ご教授ください。
現在BizVektorをカスタマイズしながらWordpressを勉強中なのですが、BizVektorの管理画面、「外観」内のオリジナルメニュー「テーマオプション」の画面で、「トップページの設定」「****Rエリア」というのがあります。これを4つにしようと思い、BizVektorのincファイルにあるtheme-options.phpとtheme-options-edit.phpのそれぞれ「prX」という部分をコピーペーストでpr4を作成しました。
これによって「テーマオプション」画面の表示が4つになり、データを画面上で入力できるようにはなったのですが、「保存」を押してもデータを受け取ってもらえません。PHPはまったくの素人で少しずつ覚えて初めている段階で、これ以上何をしたらよいのか…2日間画面とにらめっこしてお手上げ状態です。
お忙しい中大変申し訳ないのですが、どなたかお詳しい方やさしく教えていただけないでしょうか。
よろしくお願いいたします。

みんなの回答 8 件

名無しさんの回答

むつかしいね

名無し

こんなにつまずくとは思いませんでした。。。

名無しさんの回答

保存する処理のところで、コピーして新しくできた入力内容の保存処理を追記する必要があるのでは?

名無し

コメントありがとうございます。保存処理はどこで行っているのかがわからず困っています。ご存知ありませんでしょうか?

名無しさんの回答

コピペした部分を見ないと何が間違いかわからないですよー。

名無しさんの回答

コメントに返信できなかったので、こちらから

<dd><input type="text" name="this_site_theme_options[pr4_title]" id="pr4_title" value="<?php echo esc_attr( $options['pr4_title'] ); ?>" /> 
</dd> 
<dd><textarea cols="15" rows="3" name="this_site_theme_options[pr4_description]" id="pr4_description" value=""><?php echo esc_attr( $options['pr4_description'] ); ?></textarea></dd> 
<dd><input type="text" name="this_site_theme_options[pr4_link]" id="pr4_link" value="<?php echo esc_attr( $options['pr4_link'] ); ?>" /></dd> 
<dd><input type="text" name="this_site_theme_options[pr4_image]" id="pr4_image" value="<?php echo esc_attr( $options['pr4_image'] ); ?>" /></dd> 
<dd><input type="text" name="this_site_theme_options[pr4_image_s]" id="pr4_image_s" value="<?php echo esc_attr( $options['pr4_image_s'] ); ?>" /> 
</dd> 
 
これと… 
 
/*-------------------------------------------*/ 
/* トップページPR 
/*-------------------------------------------*/ 
function this_site_topPR() { 
 $options = this_site_get_theme_options(); 
 $pr1_title =  $options['pr1_title']; 
 $pr2_title =  $options['pr2_title']; 
 $pr3_title =  $options['pr3_title']; 
 $pr4_title =  $options['pr4_title']; 
 $pr1_description =  $options['pr1_description']; 
 $pr2_description =  $options['pr2_description']; 
 $pr3_description =  $options['pr3_description']; 
 $pr4_description =  $options['pr4_description']; 
 $pr1_link =  $options['pr1_link']; 
 $pr2_link =  $options['pr2_link']; 
 $pr3_link =  $options['pr3_link']; 
 $pr4_link =  $options['pr4_link']; 
 $pr1_image =  $options['pr1_image']; 
 $pr2_image =  $options['pr2_image']; 
 $pr3_image =  $options['pr3_image']; 
 $pr4_image =  $options['pr4_image']; 
 $pr1_image_s =  $options['pr1_image_s']; 
 $pr2_image_s =  $options['pr2_image_s']; 
 $pr3_image_s =  $options['pr3_image_s']; 
 $pr4_image_s =  $options['pr4_image_s']; 
 
 if ($pr1_title || $pr2_title || $pr3_title || $pr4_title) { 
?> 
 <!-- [ #topPr ] --> 
 <div id="topPr"> 
 <div id="topPrLeft" class="topPrOuter"> 
 <div class="topPrInner"> 
 <h3 class="topPrTit"><a href="<?php echo $pr1_link ?>"><?php echo $pr1_title ?></a></h3> 
 <?php if ($pr1_image) { ?> 
  <div class="prImage"> 
  <a href="<?php echo $pr1_link ?>"> 
  <img src="<?php echo $pr1_image ?>" alt="<?php echo $pr1_title ?>イメージ" class="imageWide" /> 
  <img src="<?php echo $pr1_image_s ?>" alt="" class="imageSmall" /> 
  </a> 
  </div> 
 <?php } ?> 
 <div class="topPrTxtBox"> 
  <p class="topPrDescription"><a href="<?php echo $pr1_link ?>"><?php echo $pr1_description ?></a></p> 
  <div class="moreLink"><a href="<?php echo $pr1_link ?>">詳しくはこちら</a></div> 
 </div> 
 </div> 
 </div><!-- /#topPrLeft --> 
  
 <div id="topPrCenter" class="topPrOuter"> 
 <div class="topPrInner"> 
 <h3 class="topPrTit"><a href="<?php echo $pr2_link ?>"><?php echo $pr2_title ?></a></h3> 
 <?php if ($pr2_image) { ?> 
  <div class="prImage"> 
  <a href="<?php echo $pr2_link ?>"> 
  <img src="<?php echo $pr2_image ?>" alt="<?php echo $pr2_title ?>イメージ" class="imageWide" /> 
  <img src="<?php echo $pr2_image_s ?>" alt="" class="imageSmall" /> 
  </a> 
  </div> 
 <?php } ?> 
 <div class="topPrTxtBox"> 
  <p class="topPrDescription"><a href="<?php echo $pr2_link ?>"><?php echo $pr2_description ?></a></p> 
  <div class="moreLink"><a href="<?php echo $pr2_link ?>">詳しくはこちら</a></div> 
 </div> 
 </div> 
 </div><!-- /#topPrCenter --> 
  
 <div id="topPrRight" class="topPrOuter"> 
 <div class="topPrInner"> 
 <h3 class="topPrTit"><a href="<?php echo $pr3_link ?>"><?php echo $pr3_title ?></a></h3> 
 <?php if ($pr3_image) { ?> 
  <div class="prImage"> 
  <a href="<?php echo $pr3_link ?>"> 
  <img src="<?php echo $pr3_image ?>" alt="<?php echo $pr3_title ?>イメージ" class="imageWide" /> 
  <img src="<?php echo $pr3_image_s ?>" alt="" class="imageSmall" /> 
  </a> 
  </div> 
 <?php } ?> 
 <div class="topPrTxtBox"> 
  <p class="topPrDescription"><a href="<?php echo $pr3_link ?>"><?php echo $pr3_description ?></a></p> 
  <div class="moreLink"><a href="<?php echo $pr3_link ?>">詳しくはこちら</a></div> 
 </div> 
 </div> 
 </div><!-- /#topPrRight --> 
 
 <div id="topPrfour" class="topPrOuter"> 
 <div class="topPrInner"> 
 <h3 class="topPrTit"><a href="<?php echo $pr4_link ?>"><?php echo $pr4_title ?></a></h3> 
 <?php if ($pr4_image) { ?> 
  <div class="prImage"> 
  <a href="<?php echo $pr4_link ?>"> 
  <img src="<?php echo $pr4_image ?>" alt="<?php echo $pr4_title ?>イメージ" class="imageWide" /> 
  <img src="<?php echo $pr4_image_s ?>" alt="" class="imageSmall" /> 
  </a> 
  </div> 
 <?php } ?> 
 <div class="topPrTxtBox"> 
  <p class="topPrDescription"><a href="<?php echo $pr4_link ?>"><?php echo $pr4_description ?></a></p> 
  <div class="moreLink"><a href="<?php echo $pr4_link ?>">詳しくはこちら</a></div> 
 </div> 
 </div> 
 </div><!-- /#topPrfour --> 
 
 </div> 
 <!-- [ #topPr ] --> 
 
この部分です。。。
名無し

上がoptions-edit.php 下がoptions.phpです。これでわかりますでしょうか?お手数おかけいたします。

名無しさんの回答

優しい回答で無く恐縮ですが、この辺り有償で対応するレベルだと思います。
それでも自身で頑張りたいと言うのであれば、wordpressのsettingAPIを勉強される事をお勧めします。
ちなみにデータの保存自体は、設定さえ正しければsettingAPIが自動で行います。

Settings API - WordPress Codex 日本語版

http://wpdocs.sourceforge.jp/Settings_API
名無し

そうですね・・・ もう少し頑張ってみます。ありがとうございます。

名無しさんの回答

何にしても、純粋なテーマ部分以外の改造は、PHPを覚えている最中、という方が手を出す物ではないと思います。ただでさえWordpressは複雑ですしね。

名無し

ありがとうございます。いろいろがんばってみます。

名無しさんの回答

Wordpressのことはちょっと詳しくないですが、変数のdumpを確認して、どこで上手くデータがおかしくなってるのかと地道に探していくくらいしか無いと思いますね。少額の仕事を依頼できるサイトとかはあるので、もし貴方が仕事でWordpressの改造をしているのなら、この手のサイトを利用してみるのも手ではないでしょうか?

勉強のために改造しているのなら、まずは純粋にPHPとかの知識を突き詰めていくのが先かと思います。

ランサーズ - 仕事をフリーランスに発注できるクラウドソーシングサービスLancers

http://www.lancers.jp/
名無し

ありがとうございます。PHPの理解力を強めたいと思います。

名無しさんの回答

PHPわからない人に、PHPの説明するのは難しいのではないかと普通に感じた。

最終更新日:2012-09-28 (12,455 views)

関連するトピックス

ページ上部に戻る