で入力を入力します。は私が持っている私のjqueryのコードでは、配列
$("#show").append("<img src=" +attachment.url+" alt="+attachment.alt+" title="+attachment.title+" description="+attachment.caption+" class='img-responsive img-thumbnail'/><input type='hidden' name='my_image_URL[]' value="+attachment.url+"></span>");
私のjqueryのコードは、ニュース、選択した画像のフィールドを追加し、入力名my_image_URL[]
を埋めます。 PHPで
:
if (isset($_POST['my_image_URL'])) {
$urls = $_POST['my_image_URL'];
echo '<input type="hidden" name="imagens_home" value="'.$urls.'"/>';
}
私は隠された入力に$urls
配列を追加しようとしています。
そして後に、もしOKその作品:
<?php
if ($urls != '') {
foreach ($urls as $url) {
?>
<img src="<?php echo $url;?>" class="img-responsive img-thumbnail " />
<input name="my_image_URL[]" value="<?php echo $url;?>"/>
</div>
<?php
};
}
?>
しかし、このコードの一部は、入力を埋めない:
if (isset($_POST['my_image_URL'])) {
$urls = $_POST['my_image_URL'];
echo '<input type="hidden" name="imagens_home" value="'.$urls.'"/>';
}
---------- UPDATE - ------
options.php
register_setting(
'tema-setting-group',//string $option_group
'imagens_home' //string $option_name
//calback $sanitize_calback
);
---
add_settings_field(
'home-imagens-top',//string $id
'Imagens',//String $title
'tema_home_imgs',//string $calback
'opcoes_do_tema',//string $page
'tema-home-options'//string $section
//string $args
);
//calback
function tema_home_imgs(){
$urlsImagens = esc_attr(get_option('imagens_home')); // RETURN DB DATA
include(get_template_directory() . '/inc/templates/selecao_imagens.php');
if (isset($_POST['my_image_URL'])) {
$urls = $_POST['my_image_URL'];
echo '<input name="imagens_home" value="'.$json_encode($urls).'" style="width:300px"/>';
}
}
selecao_imagens.php
<?php settings_errors();?>
<form method="post" action="options.php">
<?php settings_fields ('tema-setting-group'); ?>
<?php do_settings_sections (
'opcoes_do_tema'//string $page
); ?>
<?php submit_button();
?>
</form>
-------- UPDATE 2 -------
私が試みtheme_options.php
<input id="my_upl_button" type="button" value="Escolher Imagens" /><br/>
<div class="row">
<div id="exibe" class="sortable">
<?php
$urls = json_decode($urlsImagens, true);
if ($urls != '') {
foreach ($urls as $url) {
?>
<img src="<?php echo $url;?>" class="img-responsive img-thumbnail " />
<input name="my_image_URL[]" value="<?php echo $url;?>"/>
<?php
};
}
?>
</div>
</div>
:
echo '<input name="imagens_home" value="' . htmlspecialchars(json_encode($urls)) . '" />';
入力にまだ入力されていません。
私ものみ試してみました:
If (isset ($ _POST ['my_image_URL'])) {
Print_r ($ _ POST ['my_image_URL']);
}
をしかし、私はいくつかを置く場合は提出した後は、正しく私は配列を保存しようとしています何を除き、他のすべての入力を保存し、フォームに、画面に何も表示されません。手動の情報は大丈夫です。しかし、なぜ私は各画像入力の名前がmy_image_URL []
ではないのか分かりません。フォームのアクションは、このようなものです:私は隠された入力で$ URLの配列を追加しようとして設定APIに
おかげ
echo ''; それは隠しタイプなので、うまくいきませんか? –
実際には動作しません。一時的に隠しファイルを削除しました。 – Gislef
'$ urls'はPHP配列です。そのような文字列に連結することはできません。 html値に対応するフォーマットの文字列に変換する必要があります。配列の属性 – Kaddath