add_shortcode("agt", "agt_shortcode");  
function agt_shortcode( $atts, $content = null ) {  
    return $content;  
} 
function fasttruncate($string, $length = 80, $etc = '',$break_words = false, $middle = false)
{
    if ($length == 0){
        return '';
    }
    if (strlen($string) > $length) {
        $length -= min($length, strlen($etc));
        if (!$break_words && !$middle) {
            $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1));
        }
        if(!$middle) {
            return substr($string, 0, $length) . $etc;
        } else {
            return substr($string, 0, $length/2) . $etc . substr($string, -$length/2);
        }
    } else {
        return $string;
    }
}
function tr_ucwords($deger) {
    $lower_arr = array("I"=>"ı","i"=>"İ");
    $deger = strtr($deger,$lower_arr);
    $deger = mb_convert_case($deger, MB_CASE_TITLE, "UTF-8");
    return $deger;
}
add_filter( 'wp_insert_post_data' , 'auto_generate_title' , '99', 2 );
function auto_generate_title( $data , $postarr ) 
{
    $kackarakter = 30;
    $ortalama1kelimekackarakter = 8;
    $title_of_post = ltrim($data['post_title']);
    $length_of_title = strlen($title_of_post);
    $postdata = ltrim($data['post_content']);
    if($length_of_title<1)
    {
        $matchPattern = "/\[agt\](.*?)\[\/agt\]/";
        preg_match_all($matchPattern, $postdata, $foundIt, PREG_PATTERN_ORDER);
        if (isset($foundIt[1][0])){
            $data['post_title'] =  $foundIt[1][0];
        }else{
            $metin = str_replace('.  ','.',$postdata);
            $metin = str_replace('. ','.',$metin);
            $metin = str_replace('.','. ',$metin);
            $sadecemetin = preg_replace("@[^a-z0-9\-_şıüğçöÖİŞĞÜÇ ]+@i","",$metin);
            $totalkarakter = @strlen($sadecemetin);
            $kelimebul = explode(' ', $sadecemetin);
            $totalkelime = @count($kelimebul);
            $kavg = ceil($kackarakter+3/$ortalama1kelimekackarakter);
            $maxrand = ($totalkelime - $kavg) - 1;
            $start = rand(0,$maxrand);
            $yenibaslik = array();
            for ($i=$start; $i <= ($start+($kavg)); $i++) { 
                $yenibaslik[] = $kelimebul[$i];
            }
            $yenibaslik = @implode(' ', $yenibaslik);
            $yenibaslik = trim(fasttruncate($yenibaslik,$kackarakter));
            $yenibaslik = tr_ucwords($yenibaslik); /* her kelimenin ilk karakterini büyük karakter yapar. */
            $data['post_title'] = $yenibaslik;
        }
    }
    return $data;
}
Kalyoncu adlı üyeden alıntı: mesajı görüntüle
Kolay gelsin arkadaşlar,

Bir sorum var. wordpress yazılarda "başlık" yazmak istrmiyorum, konu içerisinden bir kaç kelimeyi (rastgele) sistem kendisi başlık olarak seçmesini istiyorum.

Böyle bir eklenti veya php kod biliyor musunuz ? yapılabilir mi ?