• 21-09-2012, 14:27:51
    #1
    Merhaba arkadaşlar ;

    http://www.yakupgovler.com/draft-to-...-ucretsiz.html

    Şurada paylaşılan eklentiyle ilgili bir sorunum var , eklenti tek dosyadan oluşuyor , kendi kafasına göre pasif duruma geliyor ben eklentinin sürekli aktif olmasını istiyorum.

    Yazarın sayfasında konuyla ilgili yorum yapıldı yazar da bir kod değişikliği önerdi onu yapıyorum fakat bir faydası olmuyor , kısacası eklentiden pasif olma seçeneğini kaldırabilir miyiz ?

    Tek dosyadan oluşuyor bilgili bir arkadaş bakabilirse sevinirim.
  • 21-09-2012, 15:12:51
    #2
    <?php
    /*
    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());
    ?>
     <div id="message" class="updated fade"><p><strong>Ayarlar kaydedildi. <?php if ($activate) echo "Eklenti Aktifleştirildi!"; else echo "Eklenti Pasifleştirildi!"; ?></strong></p></div>
    <?php
      }
     }
    }
    
    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);
    	?>
    	<div class="wrap">
    		<div id="icon-edit-pages" class="icon32"><br /></div>
    	<h2>Draft to Publish Settings</h2>
    
    		<form method="post" action="">
    	   <?php wp_nonce_field('d2p_options'); ?>
    			<table class="form-table">
    				<tr valign="top">
    				<th scope="row">
    					  Eklentinin Şu anki Durumu</th>
    				<td><?php
    	           if (yg_is_d2p_activated ()) echo "<strong>Aktif</strong>"; else echo "<strong>Pasif</strong>";
    	         ?>			
    				</td>
    				</tr>
      
    				<tr valign="top">
    				<th scope="row">
    					  <label for="post_type">Eklentiyi Aktifleştir</label></th>
    				<td><input type="checkbox" name="activate" id="activate" value="1" <?php checked( $activate ); ?> />
    				</td>
    				</tr>
    			
    				<tr valign="top">
    				<th scope="row">
    					  <label for="post_type">Yayımlanacak yazı türü</label></th>
    				<td><select name="post_type" id="post_type">
    							<option value="draft" <?php if ($post_type=='draft') echo " selected = 'selected'";?>><?php esc_attr_e('Draft') ?></option>
    							<option value="pending" <?php if ($post_type=='pending') echo " selected = 'selected'";?>><?php esc_attr_e('Kontrol Bekleyen') ?></option>
    						</select>
    				</td>
    				</tr>
    
    			 
    				<tr valign="top">
    				<th scope="row">
    					  <label for="delay">Yazıları şu gecikmeyle yayımla</label></th>
    				<td>
    						<select name="delay" id="delay">
    						<?php
    						  foreach ($delays as $d) {
    							 $selected = '';
    							 if ($delay == $d) $selected = " selected='selected'";
    							 echo '<option value="' . $d . '" '. $selected . '>' . $d . '</option>'."\n";
    							}
    						?>
    							<option value="999" <?php if ($delay==999) echo " selected='selected'"?>><?php esc_attr_e('Random') ?> *</option>
    						</select> dakika
    						<br />
    						<small>(* Rastgele seçiminde gecikme en az 60, en fazla 180 dakikadır.)</small>
    				</td>
    				</tr>
    					 
    				<tr valign="top">
    				<th scope="row">
    					  <label for="cats">Yazıların alınacağı kategoriler </label></th>
    				<td><input type="text" name="cats" id="cats" value="<?php echo $cats;?>" /><br />
    						<small>(Kategorilerin ID'lerini virgül ile ayırarak yazınız. Örn: 5,8,17)</small>
    				</td>
    				</tr>
    					 
    				<tr valign="top">
    				<th scope="row">
    					  <label for="order">Yazıları yayımlama sırası</label></th>
    						<td>
    						<select name="order" id="order">
    							<option value="ASC"<?php if ($order=='ASC') echo " selected='selected'"?>>Eskiden Yeniye Doğru</option>
    							<option value="DESC"<?php if ($order=='DESC') echo " selected='selected'"?>>Yeniden Eskiye Doğru</option>
    							<option value="RAND"<?php if ($order=='RAND') echo " selected='selected'"?>>Rastgele</option>
    						</select><br />
    						<small>(Sıralamalar ID tabanlı olup, veritabanına kayıt sırası takip edilir. Yazı tarihi gözardı edilir.)</small>
    				</td>
    				</tr>
    			 
    			</table>
    			
    		  <input type="submit" name="submit" class="button-primary" id="delay" value="<?php esc_attr_e('Save Changes') ?>" />
    
    		</form>
    	
    
    <?php
    }
    
    
    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 '<div class="error"><p>';
    	echo '<strong>Uyarı:</strong>: Yayımlanacak yazı bulunamadığından, Draft to Publish eklentisi<br />tarafından yazıların yayımlanması durduruldu.';
    	echo '</p></div>';
    }	
    */
     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');
    }
    ?>
    Bunun çalışması lazım hocam bir dener misin? Ayarlarına tam giremedim meşgulum biraz ama pasif gözükse bile çalışıyor olması lazım o yüzden öyle gözükmesine pek bakmayın ama ilk başta aktifleştirin.
  • 21-09-2012, 15:20:06
    #3
    Verdiğiniz kodları ekledim şu an , eklenti aktif inşallah pasif hale gelmez bir daha , anlamadığım şey pasif olma özelliğini kaldıramaz mıyız hocam ? Hep aktif olsun hiç kapanmasın eklenti

    Düzeltme : Şu an eklenti pasif duruma geçti ve yazı yayınlanmıyor
  • 22-09-2012, 13:01:36
    #4
    Soruna müdahale edebilecek biri yok mu acaba ?
  • 22-09-2012, 15:35:50
    #5
    Üyeliği durduruldu
    başka bir eklentiyle çakışıyor olmalı.yoksa bene 5 dakikada bir yayınlıyor 1 senedir hiç pasif olmadı
  • 22-09-2012, 19:39:17
    #6
    bvhbvh adlı üyeden alıntı: mesajı görüntüle
    başka bir eklentiyle çakışıyor olmalı.yoksa bene 5 dakikada bir yayınlıyor 1 senedir hiç pasif olmadı
    Hangi eklentiyle çakışıyor olabilir ki bunu öğrenmenin bir yolu var mıdır ? Şu tek dosyalık eklentiden pasif olma özelliğini çıkaramıyor muyuz .
  • 22-09-2012, 19:50:51
    #7
    Üyeliği durduruldu
    dosyayla alakası yok. wordpress kendisi pasifleştiriyor onu. all inseo sitemap pagenavi harici tüm eklentilerden kaynaklanıyoro labilir.tek tek devre dışı bırak dene

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 19:50:51 -->-> Daha önceki mesaj 19:50:10 --

    özellikle arananları kaydeden eklenti direk veritabanına bişeyler ekleyen ya da müdahele eden eklentilerle çakışıyordur
  • 22-09-2012, 20:16:02
    #8
    bvhbvh adlı üyeden alıntı: mesajı görüntüle
    dosyayla alakası yok. wordpress kendisi pasifleştiriyor onu. all inseo sitemap pagenavi harici tüm eklentilerden kaynaklanıyoro labilir.tek tek devre dışı bırak dene

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 19:50:51 -->-> Daha önceki mesaj 19:50:10 --

    özellikle arananları kaydeden eklenti direk veritabanına bişeyler ekleyen ya da müdahele eden eklentilerle çakışıyordur
    Hocam dosyayla alakası yok diyorsunuz ama eklentinin yapımcısı sitesinde konuyla ilgili bir düzenleme kodu yayınladı.

    Bu eklentinin pasif olma özelliğini kaldırmak bu kadar zor mu anlamıyorum.