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;
}
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 ?