0

私はワードプレスのテーマを持っていて、テーマのバックエンドに追加のフィールドを追加しようとしています (説明とキャプションのテキスト ボックスがあるギャラリー スライダー用で、「引用」ボックスを追加しようとしています)。

私はデータベースの初心者なので、関連するファイルを見つけて、「説明」へのすべての参照をコピーし、単語を「引用」に変更しました。また、テーブルに「引用」列を追加しました。

すべて正常に動作しているように見えますが、バックエンドの入力フィールドにテキストを入力して [保存] をクリックすると、テキストが「0」に変更されます

これがなぜなのか、私が間違ったことをした人はいますか? ここに画像の説明を入力

これはDBに投稿するコードだと思います....私が言うように、私はDBの初心者ですが

add_action('wp_ajax_list_slider_items', 'list_slider_items');
function list_slider_items()
{
global $wpdb;
$result = $wpdb->get_results("SELECT IMAGEID, TYPE, CONTENT, THUMB, CAPTION, DESCRIPTION, QUOTE, WIDTH, HEIGHT FROM {$wpdb->prefix}backgrounds WHERE GALLERYID='".$_POST['GALLERYID']."' ORDER BY SLIDERORDER");
$i=0;
foreach($result as $row)
{
    echo getSliderItemImage($row->IMAGEID, $row->TYPE, $row->CONTENT, stripslashes($row->CAPTION), stripslashes($row->DESCRIPTION), stripslashes($row->QUOTE), $row->THUMB, $row->WIDTH, $row->HEIGHT);
    $i++;
}
die();
}

add_action('wp_ajax_save_slider_items', 'save_slider_items');
function save_slider_items()
{
global $wpdb;
for($i=0; $i<count($_POST['imageID']); $i++)
{
    $wpdb->update($wpdb->prefix.'backgrounds', array('CAPTION'=>$_POST['CAPTION'][$i], 'DESCRIPTION'=>$_POST['DESCRIPTION'][$i], 'QUOTE'=>$_POST['QUOTE'][$i], 'SLIDERORDER'=>($i+1)), array('IMAGEID'=>$_POST['imageID'][$i]), array('%s', '%s', '%d'), array('%d')); 
}
die();
}

そして、これはテーブルを作成したコードのように見えます:

function create_backgrounds_table(){
global $wpdb;
$prf = $wpdb->prefix;
$create_query = <<<EOT
CREATE TABLE `{$prf}backgrounds` (
  `IMAGEID` int(11) NOT NULL auto_increment,
  `GALLERYID` bigint(20) unsigned NOT NULL,
  `SLIDERORDER` int(11) unsigned NOT NULL,
  `EXT` varchar(255) NOT NULL,
  `CAPTION` text,
  `DESCRIPTION` mediumtext NOT NULL,
  `QUOTE` mediumtext NOT NULL,
  `TYPE` varchar(20) default NULL,
  `CONTENT` text,
  `THUMB` text,
  `WIDTH` int(11) default NULL,
  `HEIGHT` int(11) NOT NULL,
  PRIMARY KEY  (`IMAGEID`),
  KEY `GALLERYID` (`GALLERYID`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
EOT;
$create = $wpdb->get_results($create_query);
}
4

0 に答える 0