Çok Renkli Küre Etiket Bulutu

Öncelikle jquery kütüphanemizi script tagı ile çağırıyoruz

https://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js

istediğimiz alana bu menü linklerimizi ekliyoruz.

<ul id="test" class="xmpl" style="height: 390px; width: 698px;">
    <?php for($x=0;$x<100;$x++){
         echo '<li value="'.floor(100-$x).'"><a href="#'.$x.'" >d'.$x.'n</a></li>';
    }?>
</ul>

script tagı içerisinde bu kodları ekliyoruz

/*
* jQuery TagCloud 0.5.1
*/
;(function($) {
	// private variables
	var oSettings;
	var oUlCss = {};
	var oLiCss = {};
	var fGAng = 2.399963; // sphere angle in radians*pi
	// default settings
	$.tagcloud = {
		 id: "TagCloud"
		,version: "0.5.1"
		,defaults: {
			 height: null
			,type: "cloud"		// "cloud", "list" or "sphere"
			,sizemax: 20
			,sizemin: 10
			,colormax: "00F"
			,colormin: "B4D2FF"
			,seed: null			// only for type=="cloud"
			,power: .5			// only for type=="sphere"
			,padding: 0
		}
	};
	$.fn.extend({
		tagcloud: function(_settings) {
			oSettings = $.extend({}, $.tagcloud.defaults, _settings);
			if (oSettings.seed===null) oSettings.seed = Math.ceil(Math.random()*45309714203);

			switch (oSettings.type) {
				// treemap ::	http://www.jquery.info/The-TreeMap-plugin
								
				case "sphere":
				case "cloud":
					oUlCss = {position:"relative"};
					oLiCss = {position:"absolute",display:"block"};
				break;
				case "list":
					oUlCss = {height:"auto"};
					oLiCss = {position:"static",display:"inline"};
				break;
			}

			Rng.setSeed(oSettings.seed+123456);

			return this.each(function(i,o) {
				var mUl = $(o);
				var aLi = mUl.find(">li");
				var iNumLi = aLi.length;


				var iUlW = mUl.width();
//				var iUlH = oSettings.height===null?mUl.height():oSettings.height;
				var iUlH = oSettings.height===null?(.004*iUlW*iNumLi):oSettings.height;
				mUl.css({width:iUlW,height:iUlH,listStyle:"none",margin:0,padding:0});
				mUl.css(oUlCss);
				

				var iValMx = -2147483647;
				var iValMn = 2147483648;
				var iLastVal = -1;
				for (var j=0;j<iNumLi;j++) {
					var mLi = $(aLi[j]);
					var iVal = mLi.attr("value")==-1?iLastVal++:mLi.attr("value");
					if (iVal>iValMx) iValMx = iVal;
					if (iVal<iValMn) iValMn = iVal;
					iLastVal = iVal;
				}
				var iValRn = iValMx-iValMn;

				// place on line to create minimal overlays
				var aLine = new Array();
				for (var j=0;j<iNumLi;j++) aLine[j] = j;
				for (var j, x, k = aLine.length; k; j = parseInt(Rng.rand(0,1000)/1000 * k), x = aLine[--k], aLine[k] = aLine[j], aLine[j] = x);

				iLastVal = -1;
				for (var j=0;j<iNumLi;j++) {
					var mLi = $(aLi[j]);;
					var iVal = mLi.attr("value")==-1?iLastVal++:mLi.attr("value");
					iLastVal = iVal;
					//
					var fPrt = ((iNumLi-j-1)/(iNumLi-1));
					var fPrt = (iVal-iValMn)/iValRn;
					//
					var iSzFnt = oSettings.sizemin + fPrt*(oSettings.sizemax-oSettings.sizemin);
					var sColor = colorRng(oSettings.colormin,oSettings.colormax,fPrt);
					//
					mLi.css({"word-wrap":"break-word",
                             "fontSize":iSzFnt,
                             "position":"absolute",
                             "color":"#"+sColor,
                             "margin":0,
                             "padding":oSettings.padding}).children().css({color:"#"+sColor});
					var iLiW = mLi.width();
					var iLiH = mLi.height()
					//
					var oCss = {};
					if (oSettings.type!="list") {
						if (oSettings.type=="cloud") {
							var iXps = Rng.rand(0,iUlW-iLiW);
							var iYps = aLine[j]*(iUlH/iNumLi) - iLiH/2;
						} else {
							var fRds = Math.pow(j/iNumLi,oSettings.power);
							var fRad = (j+Math.PI/2)*fGAng;
							var iXps = iUlW/2 - iLiW/2 + .5*iUlW*fRds*Math.sin(fRad);
							var iYps = iUlH/2 - iLiH/2 + .5*iUlH*fRds*Math.cos(fRad);
						}
						oCss.left = iXps;
						oCss.top  = iYps;
					}
					for (var prop in oLiCss) oCss[prop] = oLiCss[prop];
					mLi.css(oCss);
				}
			});
		}
	});
	// Park-Miller RNG
	var Rng = new function() {
		this.seed = 23145678901;
		this.A = 48271;
		this.M = 2147483647;
		this.Q = this.M/this.A;
		this.R = this.M%this.A;
		this.oneOverM = 1.0/this.M;
	}
	Rng.setSeed = function(seed) {
		this.seed = seed;
	}
	Rng.next = function() {
		var hi   = this.seed/this.Q;
		var lo   = this.seed%this.Q;
		var test = this.A*lo - this.R*hi;
		this.seed = test + (test>0?0:this.M);
		return (this.seed*this.oneOverM);
	}
	Rng.rand = function(lrn, urn) {
		return Math.floor((urn - lrn + 1) * this.next() + lrn);
	}
	// hex dec
	function d2h(d) {return d.toString(16);}
	function h2d(h) {return parseInt(h,16);}
//	function getC(s,rgb) {
//		var aRng = [[[0,1],[1,2],[2,3]],[[0,2],[2,4],[4,6]]][s.length==3?0:1][rgb];
//		return s.substring(aRng[0],aRng[1]);
//	}
	function getRGB(s) {
		var b3 = s.length==3;
		var aClr = [];
		for (var i=0;i<3;i++) {
			var sClr = s.substring( i*(b3?1:2), (i+1)*(b3?1:2) );
			aClr.push(h2d(b3?sClr+sClr:sClr));
		}
		return aClr;
	}
	function getHex(a) {
		var s = "";
		for (var i=0;i<3;i++) {
			var c = d2h(a[i]);
			if (c.length==1) c = "0"+c; // todo: this can be better
			s += c;
		}
		return s;
	}
	function colorRng(mn,mx,prt) {
		var aMin = getRGB(mn);
		var aMax = getRGB(mx);
		var aRtr = [];
		for (var i=0;i<3;i++) aRtr.push( aMin[i] + Math.floor(prt*(aMax[i]-aMin[i])) );
		return getHex(aRtr);
	}
	// trace
	function trace(o) {
		if (window.console&&window.console.log) {
			if (typeof(o)=="string")	window.console.log(o);
			else						for (var prop in o) window.console.log(prop+": "+o[prop]);
		}
	};
	// set functions
	$.fn.TagCloud = $.fn.Tagcloud = $.fn.tagcloud;
})(jQuery);
$(document).ready(function() {
$("ul").tagcloud({type:"sephere",width:300,height:300,sizemin:8,sizemax:36,power:0.5});
 function createRandomColor() { 
 var hex = '0123456789ABC'.split(''), color = '#', i; 
 for (i = 0; i < 6; i += 1) {
 color = color + hex[Math.floor(Math.random() * 13)];
 } 
 return color;
}
 $('ul li').each(function() {
 var $a = $(this).find('a');
 var rastgelerenk = createRandomColor();
 $a.css({color: rastgelerenk});
 });
});

 

Eklentisiz WordPress’te Otomatik Etiket Oluşturmak

Tüm yazılarınızın başlıklarına uygun seo etiketler oluşturur. İsteğinize göre eski etiketlerinizi temizleyip yeniler. Sayaçları günceller. Oluşturacağınız dosyayı sitenizin ana dizinine atmanız gereklidir. (Yazılım bilginiz az ise kodları değiştirmeyiniz, veritabanı yedeği almayı unutmayınız.)

tagcreator.php adlı bir dosya oluşturup içine bu kodları yazın.

<?php header('Content-Type: text/html; charset=utf-8');


 $server = 'localhost';//sunucu
 $login='';//veritabanı kullanıcı adı
 $pass='';//veritabanı şifresi
 $db='';//veritabanı adı
 $pre='wp_';//varsa wordpress veritabanı ön eki
 
 
 $con=mysql_connect($server,$login,$pass) or die ('hata');
 mysql_select_db($db,$con);
 mysql_query("Set names 'utf8'");
$print="";
$printt="";
 mysql_query("TRUNCATE `".$pre."terms`;");
$printt.="terms içindekiler boşaltıldı. ";
mysql_query("TRUNCATE `".$pre."term_relationships`;");
$printt.="term_relationships içindekiler boşaltıldı. ";
mysql_query("TRUNCATE `".$pre."term_taxonomy`;");
$printt.="term_taxonomy içindekiler boşaltıldı. ";
	function TagExport($text){
	$turkce=array("ş","Ş","ı","ü","Ü","ö","Ö","ç","Ç","ş","Ş","ı","ğ","Ğ","İ","ö","Ö","Ç","ç","ü","Ü");
	$duzgun=array("s","S","i","u","U","o","O","c","C","s","S","i","g","G","I","o","O","C","c","u","U");
	$text=str_replace($turkce,$duzgun,$text);
	$text = strtolower(preg_replace("@[^a-z0-9\-_şıüğçİŞĞÜÇ]+@i"," ",$text));
	$text = preg_replace('#[^\p{L}\p{N}]+#u', '', explode(' ', $text));
	return array_filter($text);
}
 $result=mysql_query("select * from ".$pre."posts where post_status='publish'");
 while ($row = mysql_fetch_object($result)) {
	$tags = TagExport($row->post_title);
	foreach($tags as $tag){
	$control1=mysql_query("select * from ".$pre."terms where name='$tag'");
	if(!mysql_num_rows($control1)){
		$sql1="INSERT INTO `".$pre."terms` (`term_id`, `name`, `slug`, `term_group`) VALUES (NULL, '$tag', '$tag', 0);";
		mysql_query($sql1);
		$last_id1 = mysql_insert_id();
		$print.="INSERT ID:$row->ID TAMAM. ";
		
		$sql2="INSERT INTO `".$pre."term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`) VALUES (NULL, $last_id1, 'post_tag', '', 0, 1);";
		mysql_query($sql2);
		$last_id2 = mysql_insert_id();
		$print.="INSERT ID:$row->ID TAMAM. ";
		
	}else{
		$cikti=mysql_fetch_object($control1);
		$last_id2=$cikti->term_id;
		$print.="ALREADY INSERT ID:$row->ID TAMAM. ";
	}
	$control2=mysql_query("select * from ".$pre."term_relationships where object_id=$row->ID AND term_taxonomy_id=$last_id2");
	if(!mysql_num_rows($control2)){
		$sql3="INSERT INTO `".$pre."term_relationships` (`object_id`, `term_taxonomy_id`, `term_order`) VALUES ($row->ID, $last_id2, 0);";
		mysql_query($sql3);
		$print.="INSERT ID:$row->ID TAMAM.<br>";
	}
	else{
		$print.="ALREADY INSERT ID:$row->ID TAMAM.<br>";
	}
 }
 }
 echo $printt."<br>".$print;
 //30.11.2014 güncellemesi sayaç güncelleme eklendi
 $q=mysql_query("SELECT term_taxonomy_id as ti,count(term_taxonomy_id) as cti  FROM `".$pre."term_relationships` group by ti order by cti desc");
 while($qq=mysql_fetch_assoc($q)){
  mysql_query("UPDATE `".$pre."term_taxonomy` SET `count` = '".$qq["cti"]."' WHERE `".$pre."term_taxonomy`.`term_taxonomy_id` = ".$qq["ti"]."");
  echo "<br>COUNT UPDATED ID:".$qq["cti"];
 }
 echo "<br>bitti";
?>

$server $login $pass $db değişkenlerine phpmyadmin bilgilerinizi yazarak ve sitem/tagcreator.php adresine girmeniz yeterli.

Stackoverflow Tarzı Aynı Etiketleri Sayarak Yazdırmak

Öncelikle tags isimli bir veritabanınızın olması ve içinde name adlı sütun bulunması gereklidir.

.tag a{
    color: #3e6d8e;
    background-color: #e0eaf1;
    border-bottom: 1px solid #b3cee1;
    border-right: 1px solid #b3cee1;
    padding: 3px 4px 3px 4px;
    margin: 2px 2px 2px 0;
    text-decoration: none;
    font-size: 90%;
    line-height: 1.4;
    white-space: nowrap;
    display: inline-block;
}
<?php  header('Content-Type: text/html; charset=utf-8');
$dbhost     =   "localhost";    
$dbkullanici=   "root";     
$dbsifre    =   "";     
$dbname     =   "test";
$baglan = mysql_connect($dbhost, $dbkullanici, $dbsifre);  
mysql_select_db($dbname, $baglan);
mysql_query("SET NAMES 'utf8'"); 
$result = mysql_query("select name from tags");
$tags = array();
while ($row = mysql_fetch_array($result)) {
$kodlar = "•,-, ,|,>,<,(,),/,≈,",',\,/,[,],{,},*,1,2,3,4,5,6,7,8,9,0,’,“,”,.,:,;,#,$,!,+,%,&,=,?,_,~,¨,´,`,^";
$kodlar=array_filter(explode(",", $kodlar));
$bosalt   =",";
$row[0] = str_replace($kodlar, $bosalt, $row[0]);
        $row_tag_array = @split(",", $row[0]);
        foreach ($row_tag_array as $newtag) {
        asort($row_tag_array);
                if (array_key_exists($newtag, $tags)) {
                        if ($tags[$newtag] < 200) {
                                $tags[$newtag] = $tags[$newtag] + 1;
                        }
                }
                else {
                        $tags[$newtag] = 1;
                }
        }
}
foreach ($tags as $tag => $size) {
    echo '<div class="tag"><a href="http://localhost/search/'.$tag.'.html">'.$tag.'</a><span> x '.$size.'</span>';
}
?>