السلام عليكم ورحمة الله وبركاتة
كيف الحال يالغالين
يوجد كود خاص بموقع TinyURL للورد بريس يقوم بأختصار رابط الموضوع وهذا هو الكود
في البداية افتح ملف functions.php الخاص بالقالب و إذا لم يكن موجود أنشأه و انسخ الكود التالي فيه:
كود PHP:
// Automatically Create A TinyURL For Each Post
function getTinyUrl($url) {
$tinyurl = file_get_contents("http://tinyurl.com/api-create.php?url=".$url);
return $tinyurl;
}
عد ذلك توجه نحو الملف single.php و قم بنسخ الكود التالي في كود الدوران Loop من أجل عرض الرابط المختصر:
كود PHP:
<?php
$turl = getTinyUrl(get_permalink($post->ID));
echo 'الرابط المختصر للتدوينة هو: <a href="'.$turl.'">'.$turl.'</a>'
?>
--
طبعا الكود السابق خاص لموقع TinyURL ..
اللي اريدة انا اني استبدل موقع TinyURL بـ موقعي الخاص بي
http://ksa1.cc
ياليت ياخوان الطريقة
طبعا موقعي استطيع استخدام api كمثال
كود:
http://ksa1.cc/api.php?url=http://www.swalif.net/softs
اذا ممكن تعديل الكود السابق الخاص بموقع TinyURL ليعمل على موقعي
طبعا كود رابط الموضوع للورد بريس هو
كود PHP:
<?php the_permalink(); ?>
وهذا هو ملف api.php في المرفق..
كود PHP:
<?php
/* urlshort / api.php */
/* api for creation and lookup*/
/* written june 24 2008 by adam */
/* updated may 29 2009 by matt */
error_reporting(0);
require_once 'includes/config.php'; // settings
require_once 'includes/gen.php'; // url generation and location
$url = new url();
$msg = '';
header('HTTP/1.1 500 Internal Server Error');
// if the url has been sent to this script
if ( substr($_SERVER['QUERY_STRING'], 4) && trim(substr($_SERVER['QUERY_STRING'], 4)) )
{
// escape bad characters from the users url
$longurl = trim(mysql_escape_string(substr($_SERVER['QUERY_STRING'], 4)));
// set the protocol to not ok by default
$protocol_ok = true;
// if there's a list of allowed protocols,
// check to make sure its all cool
if ( count($allowed_protocols) )
{
foreach ( $allowed_protocols as $ap )
{
if ( strtolower(substr($longurl, 0, strlen($ap))) == strtolower($ap) )
{
$protocol_ok = true;
break;
}
}
}
else // if there's no protocol list, fuck all that
{
$protocol_ok = true;
}
// add the url to the database
if ( $protocol_ok && $url->add_url($longurl) )
{
if ( REWRITE ) // mod_rewrite style link
{
$url = 'http://'.$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF']).''.$url->get_id($longurl);
}
else // regular GET style link
{
$url = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'].'?id='.$url->get_id($longurl);
}
// if good output url
header('HTTP/1.1 200 OK');
$msg = $url;
mysql_close($conn);
}
elseif ( !$protocol_ok )
{
header('HTTP/1.1 500 Internal Server Error');
$msg = 'error - invalid protocol';
mysql_close($conn);
}
else // something broken
{
header('HTTP/1.1 500 Internal Server Error');
$msg = 'error';
mysql_close($conn);
}
}
else
{
header('HTTP/1.1 500 Internal Server Error');
$msg = 'error - invalid long url';
mysql_close($conn);
}
// if the id has been sent to this script
if ( isset($_GET['short']) && strlen(trim($_GET['short'])) )
{
// escape bad characters from the users url
$shorturl = trim(mysql_escape_string($_GET['short']));
$string = "$shorturl";
list($string1,$string2) = explode("$INSTALL_PATH",$string);
$shortid = $string1.$string2;
// return the url for given id (or -1 if the id doesnt exist)
$q2 = 'SELECT url FROM `urls` WHERE `id` LIKE CONVERT(_utf8 \''.$shortid.'\' USING latin1)';
$result2 = mysql_query($q2);
while ($row = mysql_fetch_array($result2, MYSQL_ASSOC)) {
printf($row["url"]);
exit();
}
if ( mysql_num_rows( $result2 ) == $result2 ) {
$fullurl = mysql_result($result2, 1);
}
else{
header('HTTP/1.1 500 Internal Server Error');
$fullurl = 'error - invalid short url';
mysql_close($conn);
}
header('HTTP/1.1 200 OK');
$msg = $fullurl;
mysql_close($conn);
}
/***************************/
// echo the url or error
/***************************/
echo $msg;
mysql_close($conn);
?>
او تحميل السكربت بالكامل من هنا
http://mavrev.org/urlshort/releases/urlshort-2.0.1.zip