Jump to content
php.lv forumi

Wordpress plugins


eT`

Recommended Posts

Sveiki,

Man vajadzētu pluginu, kas autorizētiem lietotājiem ļauj front-endā rakstīt postus, augšuplādēt tajos bildes, video utt.

Un, lai būtu līdzīgi kā administrācijas panelī WYSIWYG

Bet tādu pluginu nevarēju atrast.

Kāds nav kam līdzīgam uzskrējis virsū?

Link to comment
Share on other sites

Tāmm to lietu uztaisīju.

Tagad mocos ar front-end image uploadošanu

 

Es formā bildes padodu kā masīvu <input type="file" name="pic[]" />

Un kods, kam to vajadzētu realizēt ( augšupielādēt un ievietot posta saturā )

 

if ($_FILES)
  {
$post_id = $_POST["post_id"];

function insert_attachment($file_handler,$post_id,$setthumb='false') {

 	require_once(ABSPATH . "wp-admin" . '/includes/image.php');
 	require_once(ABSPATH . "wp-admin" . '/includes/file.php');
 	require_once(ABSPATH . "wp-admin" . '/includes/media.php');

 	$attach_id = media_handle_sideload( $file_handler, $post_id );

 	if ($setthumb) update_post_meta($post_id,'_thumbnail_id',$attach_id);
 	return $attach_id;
}

function fix_file_array(&$files)
{
	$names = array(
 	'name' => 1,
 	'type' => 1,
 	'tmp_name' => 1,
 	'error' => 1,
 	'size' => 1
	);

	foreach ($files as $key => $part)
	{
 	$key = (string) $key;
 	if (isset($names[$key]) && is_array($part))
 	{
  	foreach ($part as $position => $value)
  	{
   	$files[$position][$key] = $value;
  	}
  	unset($files[$key]);
 	}
	}
}

$this->fix_file_array($_FILES[$name]);
foreach ($_FILES[$name] as $file => $fileitem)
{
	$attach_id = insert_attachment($fileitem,$post_id);

	$old_post = get_post($post_id);
	$attachment = get_attachment_image($attach_id,'large');
	wp_update_post(
 	array(
 	'ID' => $post_id,
 	'post_content' => $old_post->post_content . $attachment
 	)
	);
}

  }

 

bet nestrādā >.<

visu dienu jau mēģinu izkost kas viņam nepatīk.

Link to comment
Share on other sites

Ir vajadzība pēc 3 iespējām front-endā:

- lietotāji var pievienot postus ar tekstiem [ DONE! ]

- lietotāji var pievienot postus ar attēliem

- lietotāji var pieveinot postus ar video

 

tāpēc arī prasu.

Edited by eT`
Link to comment
Share on other sites

var_dump($_FILES) un tu redzēsi, ka tas satur ne to ko tu esi cerējis.

Neesmu strādājis ar wordpress un nezinu ko media_handle_sideload( $file_handler, $post_id ) dara, bet tur visticamāk iekš $file_handle sagaida masīvu - array('error' => N, 'tmp_filename' => String, utt...), bet lietojot formā name="pic[]", ja pareizi atceros, $_FILES massīvs izskatās šādi - array('error' => array(0 => String, 1 => String), 'tmp_filename' => array(0 => String, 1 => string)), līdz ar to foreachā, tu nevis padod dažādus failus, bet gan visu failu errorus, visu failu tmp_name, visu failu name utt.

 

Bet vispār, kā Jūs varat programmēt nemākot debugot kodu. Arvien vairāk un vairāk parādās tēmas, kur ar vienkāršu debugošanu viss būtu atrisināts. Nav pat svarīgi savs vai sveša kods, tas ir vienkāršāk nekā programmēt, jo viss jau ir priekšā, atliek tik sekot un meklēt, kurā brīdī dati vairs nesatur to kas cerēts.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...