Director de articole cu wp_insert_post şi wp_editor

Tot ce îmi vine acum în minte e ezineartciles.com şi blog.jorjette.ro/retete-gatit/. Eu şi Chris Knight avem ceva în comun, dar şi prea multe elemente ce diferă. El are sponsori, are echipă, are cu cine. Eu? Am numai idei, iar ”Concursul de Retete de Gatit” deşi pare mult sub nivelul site-ului lui, se manifestă mult peste ce oferă el.

Publicarea de articole în cadrul unor directoare de articole, e ca o piata unde noi românii doar am vrea să găsim ceva de furat. Adică, oricum nu îi vedem rostul (drept dovadă că nu avem pe .ro ceva de genu, de calitate) şi nici nu ne omorâm să fim naturali sinceri şi prezentabili în faţa publicului, în maniera asta ”brutală din cale-afară!”.

Eu am aplicat ceva, zic, inovativ pentru platforma wordpress, formular de login, cont nou şi desigur cel pentru uituci! Ăsta, l-am ataşat la o schemă de administrare şi publicare de reţete de gătit, direct pe site (fără access în Dashboard).

Scheletul de bază, cred că mi-a luat 2 zile ca să-l implementez ca sistem. Recunosc, nu e gata, mai am de introdus o pagină de editare a datelor de profil a userilor, plus să introduc editarea articolelor publicate, cu posibilitate de ştergere.

Sună fain nu? Băăăă!! E WordPress eşti nebun? Nu e Joomla ori alte FunnyPHPScripturi făcute la comandâ!!!

Oricum concursul e vai de capul lui, deşi avem premiu, lumea se înghesuie ca ţiganii la făcut baie, însă ideea, amenajările interioare şi modul de expunere (să nu vă mai spun de scripturile din spate) părerea mea e că merită puse întro altă lumină.

Aş instala WordPress curat, pe un domeniu nou, probabil http://originalarticles.com/ , şi aş implementa structura de la Concursul cu reţete de gătit. Tematica siteului ar fi clară, director de articole, un fel de bază de date cu articole, unde useri, autori, scriu articole pentru a-şi promova propriile lor site-uri ori afaceri ori chiar persoana lor proprie.

Cu un SEO bun şi o promovare cu backlink-uri puternice, aş lua o poziţie bună şi … poc poc, bum, bum, aş putea concura cu ezinearticles.com

Idei … numa` pe hârtie!

Vă fac cadou scriptul ”Adaugă reţetă nouă”, unde am legat wp_insert_post() de posibilitatea de upload de imagini şi fişiere cu ajutorul insert_attachment() şi jquery (adică + încă un fişier, şi încă unu, şi încă unu etc.) Folosind  update_post_meta() am setat automat thumbnail pentru noul post publicat. Formularul de publicare a fost cel mai fain de făcut. Un form clasic, doar că în loc de textarea am introdus box-ul de editare din wordpress,anume wp_editor(). Am mai jonglat cu javascript pe la titlul articolului ca să fie mai interactivă scrierea. Îi lipseşte o redirecţionare către pagina articolului nou introdus, desigur spre o eventuală corectare ori să se vadă dacă e aprobat sau nu. În script eu pun articolele publicate ca fiind în pending.

Scriptul new-post.php

<script type="text/javascript">
$(function () {
//clone file upload box
$('#add-more-files').click(function() {
var cloned = $(this).parent().prev().clone();
cloned.val(null);
$(cloned).insertBefore($(this).parent());
});
});
</script>
<?php
global $post;
if(isset($_POST['new_post']) == '1') {
$post_title = $_POST['post_title'];
$post_category = $_POST['cat'];
$post_content = $_POST['content'];
$new_post = array(
'ID' => '',
'post_author' => $user->ID,
'post_category' => array('4796'),
'post_content' => $post_content,
'post_title' => $post_title,
'post_status' => 'pending'
);
$post_id = wp_insert_post($new_post);
if ( $_FILES ) {
$files = $_FILES['upload_attachment'];
foreach ($files['name'] as $key => $value) {
if ($files['name'][$key]) {
$file = array(
'name' => $files['name'][$key],
'type' => $files['type'][$key],
'tmp_name' => $files['tmp_name'][$key],
'error' => $files['error'][$key],
'size' => $files['size'][$key]
);
$_FILES = array("upload_attachment" => $file);
foreach ($_FILES as $file => $array) {
$newupload = insert_attachment($file,$post_id);
}
}
}
}
//and if you want to set that image as Post then use:
update_post_meta($post_id,'_thumbnail_id',$newupload);
}
?>
<form id="add-new-reteta" method="post" action="#" enctype="multipart/form-data">
<p>
<input type="text" name="post_title" size="45" id="input-title" onblur="if (this.value == '')
{this.value = 'Titlul reţetei';}" onfocus="if
(this.value == 'Titlul reţetei')
{this.value = '';}" value="Titlul reţetei" />
</p>
<p>
<?php wp_editor($content, 'content', array('dfw' => true, 'media_buttons' => false, 'editor_height' => 360) ); ?>
</p>
<p>
<ul>
<li>Alege o poză cu preparatul tău: <input type="file" name="upload_attachment[]" /></li>
<li><a style="color: #fff" class="cupid-green" href="#" id="add-more-files">Adaugă încă o poză</a></li>
</ul>
</p>
<input type="hidden" name="new_post" value="1"/>
<input class="subput round" type="submit" name="submit" value="Publică"/>
</form>

Care este gandul tau?