Искам да добавя персонализирано поле в TAB с общи настройки в wordpress. Това са настоящите полета, които wordpress има по подразбиране.
- Заглавие на сайта
- Таг линия
- URL адрес на Wordpress ... и т.н
Искам да добавя персонализирано поле като, искам да имам поле за качване на изображение.
За това трябваше да редактирам options-general.php
, options.php
, general-template.php
, трябваше да вмъкна запис в wp-options
таблица в моята база данни
Сега, когато го тествах с обикновен input type as text
, той работи добре. Но когато задам input type as file
за качване на моето лого, това не работи, това е моят код по-долу. options-general.php
<tr valign="top">
<th scope="row"><label for="logo"><?php _e('Logo') ?></label></th>
<td><input name="file" type="file"/></td>
</tr>
Както можете да видите, поставих полето за изображение точно под полето за описание на моя блог и действието на този формуляр ме отвежда до options.php
. това е моят option.php
if ( is_multisite() && !is_super_admin() && 'update' != $action )
wp_die(__('Cheatin’ uh?'));
/* image upload function goes here */
if($_POST['submit']){
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("images/logo/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],"images/logo/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
}
/* image upload function ends here */
По-горе добавих простия скрипт за качване на изображение, но по някакъв начин той не работи, нито файлът се качва в директорията.
Основният PHP код работи ли в WP среда Или пропускам нещо, любезно предложете.
}option.php
на няколко места и това}images/logo/" . $_FILES["file"]["name"]))
също изглежда странно. Маркиращият синтаксис на SO показва кода като низове и обратното - пропускате"
някъде. - person Hobo   schedule 14.10.2013echo
във всеки клон на вашия код, трябва да видите някакъв резултат, ако кодът работи. Което изглежда означава, че не работи.$_POST['submit']
определено е готово? Качили ли сте правилния файл на правилното място? И няма нищо в логовете на PHP? Core PHP работи в WP среда, за да отговори на тази част от въпроса ви.$_FILES
масив ли е? Може би трябва да го прегледате? - person Hobo   schedule 14.10.2013