lostyazilim
tr.link

Draft to Publish Eklentisi Zaman Ayarlaması (yardım)

9 Mesajlar 1.365 Okunma
acebozum
tr.link

kendoka kendoka Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 02.06.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek Geleneksel Tedavi Usulleri Uzmanı
  • Konum Konya
  • Ad Soyad B** Ö**
  • Mesajlar 1393
  • Beğeniler 257 / 275
  • Ticaret 25, (%100)
Arkadaşlar
Şuan sitemde "Draft to Publish Eklentisi" kullanıyorum. Bu eklenti sitede bulunan taslak yazıları belli aralıklarla yayınlıyor.

Eklentide en düşük 5 dk var. Ben bunu daha da düşürmek istiyorum ne yapabilirim. Nasıl yardımcı olursunuz.
Eklentiyi http://www.yakupgovler.com/draft-to-publish-eklentisi-ucretsiz.html sitesiden bulup kurdum. Ustama teşekür ediyorum. Ona soracaktım ama soramadım. Eklentinin php dosyasını buraya kopyalıyorum. Yardımcı olursanız sevinirim.
Güncelleme:
Arkadaşlar aşagıdaki kodlarda
geçen


if (!($delay==999 || $delay >= 5 && $delay <= 300)) $error=true;


Kısmını


if (!($delay==999 || $delay >= 1 && $delay <= 10)) $error=true;


Yaptım şuan 5 dk da bir değil de dakikada bir yazı paylaşıyor. Fakat neden dakikada bir tane. Ben orada 1 için karşılık olarak 10 saniye verdim. 10 saniyede bir yapmıyor.

Bi fikri olan var mı ?

/*
Plugin Name: Draft to Post
Plugin URI: http://www.yakupgovler.com
Description: Taslak yazılarınızı belirli aralıklarla yayımlar.
Author: Yakup Gövler
Version: 1.0
Author URI: http://www.yakupgovler.com
*/

function yg_d2p_options_page() {
add_options_page('Draft to Publish Settings', 'Draft to Publish', 10, __FILE__, 'yg_d2p_options');
}
add_action('admin_menu', 'yg_d2p_options_page');

function yg_is_d2p_activated () {
$crons = _get_cron_array();
if ( !empty($crons) ) {
foreach ( $crons as $timestamp => $cron ) {
if (isset($cron['yg_publish'])) {
return true;
}
}
}
return false;
}
function yg_d2p_save_settings() {
if ($_POST['submit']) {
$activate = (bool) ($_POST['activate']);
$pt = esc_attr($_POST['post_type']);
$error = false;
if (!($pt=='draft' || $pt=='pending')) $error = true;

$delay = (int) $_POST['delay'];
if (!($delay==999 || $delay >= 5 && $delay <= 300)) $error=true;

$cats = str_replace(' ', '', esc_attr($_POST['cats']));
$order = esc_attr($_POST['order']);
if (!($order == 'ASC' || $order == 'DESC' || $order == 'RAND')) $error=true;

if (!$error) {
$options = array('activate'=>$activate, 'delay'=>$delay, 'post_type'=>$pt, 'cats'=>$cats, 'order'=>$order);
if (!update_option('yg_d2p_options', $options)) add_option('yg_d2p_options', $options);
if ($delay == 999) $delay = mt_rand(60, 180);
wp_clear_scheduled_hook('yg_publish');
if ($activate) wp_schedule_single_event(time() + $delay*60, 'yg_publish', array());
?>

Ayarlar kaydedildi.


}
}
}

function yg_d2p_options() {
if ($_POST['submit']) {
check_admin_referer( 'd2p_options' );
yg_d2p_save_settings();
}
$options = get_option('yg_d2p_options');
$activate = (bool) $options['activate'];
$delay = (int) $options['delay'];
$post_type = esc_attr($options['post_type']);
$cats = esc_attr($options['cats']);
$order = esc_attr($options['order']);

$delays = array(5, 10, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 180, 240, 300);
?>



Draft to Publish Settings






































Eklentinin Şu anki Durumu
if (yg_is_d2p_activated ()) echo "Aktif"; else echo "Pasif";
?>

/>




dakika


(* Rastgele seçiminde gecikme en az 60, en fazla 180 dakikadır.)



(Kategorilerin ID'lerini virgül ile ayırarak yazınız. Örn: 5,8,17)




(Sıralamalar ID tabanlı olup, veritabanına kayıt sırası takip edilir. Yazı tarihi gözardı edilir.)







}


function yg_draft_to_publish($postt='') {
global $wpdb;

$options = get_option('yg_d2p_options');
$activate = (bool) $options['activate'];
$delay = (int) $options['delay'];
if ($delay == 999) $delay = mt_rand(60, 180);
$post_type = esc_attr($options['post_type']);
if ($post_type != 'pending') $post_type = 'draft';
$cats = esc_attr($options['cats']);
$order = esc_attr($options['order']);
if ($order == 'RAND') {$orderby = 'rand'; $order='';}else{ $orderby = 'ID';}
if ($order != '' && $order != 'DESC') $order = 'ASC';

$args = array(
'category' => $cats,
'post_type' => 'post',
'post_status' => $post_type,
'numberposts' => 1,
'orderby' =>$orderby,
'order' => $order
);

$post = get_posts($args);
if ($post) {
//$post = $wpdb->get_results("select * FROM $wpdb->posts WHERE post_status='draft' AND post_type='post' ORDER BY ID ASC LIMIT 1");
$post_id = $post[0]->ID;

$postarr = array('ID' => $post_id, 'post_status' => 'publish', 'post_date' => current_time('mysql'), 'post_date_gmt' => current_time('mysql', 1));
wp_update_post($postarr);
wp_schedule_single_event(time() + $delay * 60, 'yg_publish', array());
} /*else{
add_action('admin_notices', 'yg_d2p_notice');
}*/
}
/*
function yg_d2p_notice() {
echo '

';
echo 'Uyarı:: Yayımlanacak yazı bulunamadığından, Draft to Publish eklentisi
tarafından yazıların yayımlanması durduruldu.';
echo '

';
}
*/
add_action('yg_publish', 'yg_draft_to_publish', 10, 1);

register_activation_hook(__FILE__,'yg_draft2publish_install');
register_deactivation_hook(__FILE__,'yg_draft2publish_uninstall');

// Install plugin
function yg_draft2publish_install() {
$options = array('activate'=>0, 'delay'=>30, 'post_type'=>'draft', 'cats'=>'', 'order'=>'ASC');
add_option('yg_d2p_options', $options);
}

// Uninstall plugin
function yg_draft2publish_uninstall() {
wp_clear_scheduled_hook('yg_publish');
}
?>

 

 

elektronikssl
webimgo

isousluer isousluer Usluer Kullanıcı
  • Üyelik 05.04.2011
  • Yaş/Cinsiyet 31 / E
  • Meslek Yazılım Geliştirici
  • Konum Konya
  • Ad Soyad İ** U**
  • Mesajlar 4900
  • Beğeniler 1419 / 2962
  • Ticaret 45, (%100)
Tam emin değilim de aşağıdaki kodlarda kırmızı yeri kendinize göre değiştirin.

$delays = array(X, 5, 10, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 180, 240, 300);
 

 

kendoka kendoka Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 02.06.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek Geleneksel Tedavi Usulleri Uzmanı
  • Konum Konya
  • Ad Soyad B** Ö**
  • Mesajlar 1393
  • Beğeniler 257 / 275
  • Ticaret 25, (%100)

isousluer adlı üyeden alıntı

Tam emin değilim de aşağıdaki kodlarda kırmızı yeri kendinize göre değiştirin.

$delays = array(X, 5, 10, 15, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 180, 240, 300);


Ustam benim de aklıma ilk o geldi. yaptım. baktım panelde artık 1 dk seceneği de görünüyor sevindim :) ama 1'i seçice otomatik 5 yaptı ve eklenti çalışmayı durdurdu.
 

 

isousluer isousluer Usluer Kullanıcı
  • Üyelik 05.04.2011
  • Yaş/Cinsiyet 31 / E
  • Meslek Yazılım Geliştirici
  • Konum Konya
  • Ad Soyad İ** U**
  • Mesajlar 4900
  • Beğeniler 1419 / 2962
  • Ticaret 45, (%100)
if (!($delay==999 || $delay >= 5 && $delay <= 300)) $error=true;

Yukarıda 5 yazan yeri de X'in yerine yazdığınız sayı ile değiştirin. Bu sefer olması gerek. :)
 

 

wmaraci
wmaraci

kendoka kendoka Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 02.06.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek Geleneksel Tedavi Usulleri Uzmanı
  • Konum Konya
  • Ad Soyad B** Ö**
  • Mesajlar 1393
  • Beğeniler 257 / 275
  • Ticaret 25, (%100)

isousluer adlı üyeden alıntı

if (!($delay==999 || $delay >= 5 && $delay <= 300)) $error=true;

Yukarıda 5 yazan yeri de X'in yerine yazdığınız sayı ile değiştirin. Bu sefer olması gerek. :)


evet ustam bende bakarken orayı farkettim durun bi yapayım :)

Ek Olarak:

isousluer adlı üyeden alıntı

if (!($delay==999 || $delay >= 5 && $delay <= 300)) $error=true;

Yukarıda 5 yazan yeri de X'in yerine yazdığınız sayı ile değiştirin. Bu sefer olması gerek. :)


Usta teşekür ederim. İş tamamdır.

if (!($delay==999 || $delay >= 1 && $delay <= 30)) $error=true;

Seklinde yaptım. Şuanda her 30 saniyede bir içerik yayınlanıyor. Bu eklentinin bir sıkıntısı var ama. O da siteye giriş çıkış oldugunda ancak o zaman yazı ekliyor.Onu da header a eklediğim bir kod ile çözdüm.



Her 10 saniyede bir ana sayfa yenilenince sürekli giriş çıkış sağlanıyor. Bunu yapması için forumda konu açmıştım ücretli. kimse bakmamıştı :)

http://wmaraci.com/forum/ucretli-programlama-isleri/wp-eklenti-taslaklari-belli-araliklarla-yayinlama-218726.html
 

 

zebun zebun WM Aracı E-Mail Onaysız
  • Üyelik 16.06.2011
  • Yaş/Cinsiyet 41 / E
  • Meslek Yazılım ve Otomasyon, Seo
  • Konum Diğer
  • Ad Soyad A** B**
  • Mesajlar 173
  • Beğeniler 9 / 41
  • Ticaret 10, (%100)

isousluer adlı üyeden alıntı

if (!($delay==999 || $delay >= 5 && $delay <= 300)) $error=true;

Yukarıda 5 yazan yeri de X'in yerine yazdığınız sayı ile değiştirin. Bu sefer olması gerek. :)


hocam usluer.org sitenizdeki temayı bende kullanıyorum yorum bölümünü nerden çekiyor tema siz bakmışsınız bide ben aramayım :) söyleyinde benimde bir işim var kod ekleyeceğim
 

 

isousluer isousluer Usluer Kullanıcı
  • Üyelik 05.04.2011
  • Yaş/Cinsiyet 31 / E
  • Meslek Yazılım Geliştirici
  • Konum Konya
  • Ad Soyad İ** U**
  • Mesajlar 4900
  • Beğeniler 1419 / 2962
  • Ticaret 45, (%100)

zebun adlı üyeden alıntı

hocam usluer.org sitenizdeki temayı bende kullanıyorum yorum bölümünü nerden çekiyor tema siz bakmışsınız bide ben aramayım :) söyleyinde benimde bir işim var kod ekleyeceğim


Yorum bölümünü nereden çekiyor derken hocam? Temanın kendisinde mevcut.
 

 

kendoka kendoka Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 02.06.2014
  • Yaş/Cinsiyet 31 / E
  • Meslek Geleneksel Tedavi Usulleri Uzmanı
  • Konum Konya
  • Ad Soyad B** Ö**
  • Mesajlar 1393
  • Beğeniler 257 / 275
  • Ticaret 25, (%100)

isousluer adlı üyeden alıntı

Yorum bölümünü nereden çekiyor derken hocam? Temanın kendisinde mevcut.


Tesadüfe bakın. Benim bu yukarıda bahsettiğim konuda bu temanın kurulu oldugu bir sitem içindi :)
 

 

zebun zebun WM Aracı E-Mail Onaysız
  • Üyelik 16.06.2011
  • Yaş/Cinsiyet 41 / E
  • Meslek Yazılım ve Otomasyon, Seo
  • Konum Diğer
  • Ad Soyad A** B**
  • Mesajlar 173
  • Beğeniler 9 / 41
  • Ticaret 10, (%100)
wordpresin kendisinden çekiyor sanırım örneğin siz temadan web site girişini kaldırmışsınız yorum bölümünden nerden kaldırdınız
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)