Плагин для внутренней перилинковки по списку ключевик
-
Ну какого его не создали до сих пор??? все какие то карявые плагины перелинковки…у кого есть нормальный плагин который по ключевикам линкует?
нашел один но и он не доработаный http://adne.info/adnelink/
кто знает как хотя бы этот плагин обучить не собирать ссылки со всех постов? как к примеру сделать так чтобы он собирал свободные посты из заданных меток через запятую, хотя бы такое решение помогло бы…
сам код плагина
<?php /* Plugin Name: Adnelink Plugin URI: http://adne.info/adnelink/ Description: Плагин для перелинковки под трафик Author URI: http://adne.info Author: Alexander Hodinar Version: 1.9 */ //функция перелинковки function get_adnelink_do(){ print "<h1>Adnelink - перелинковка под трафик от <a target=_blank href=http://adne.info>adne.info</a></h1><br><br>"; global $table_prefix; if(isset($_POST['g'])) { $r=$_POST['r']; $k=$_POST['k']; $g=$_POST['g']; if($g == 1) { //сколько у нас свободных линков $query = "SELECT sum(<code>pred</code>-<code>is</code>) FROM ".$table_prefix."adnelinks WHERE <code>is</code> < <code>pred</code>"; $resul = mysql_query($query); $ir = mysql_fetch_array($resul); $nl= $ir['sum(<code>pred</code>-<code>is</code>)']; //сколько у нас свободных постов? $query = "SELECT * FROM ".$table_prefix."adnelink WHERE <code>links</code> = ''"; $res = mysql_query($query); $n = mysql_num_rows($res); if($n != 0) { if($nl != 0) { //ограничитель if($k == "") { $k=ceil($nl/$n); } while ($row = mysql_fetch_assoc($res)) { $bl=""; $query = "SELECT * FROM ".$table_prefix."adnelinks WHERE <code>is</code> < <code>pred</code> LIMIT ".$k; $rem = mysql_query($query); $number = mysql_num_rows($rem); if ($number != 0) { while ($rom = mysql_fetch_assoc($rem)) { $blu=urlencode($bl);$str = urlencode($rom['url']);$strt = urlencode($rom["text"]); if (!((preg_match ("/".$str."/i", $blu)) OR (preg_match ("/".$strt."/i", $blu)))) { $pl=get_permalink($row["pid"]); if ($pl != $rom["url"]) { $bl=$rom["html"].$r.$bl; $id=$rom["id"]; mysql_query("UPDATE <code>".$table_prefix."adnelinks</code> SET <code>is</code>=<code>is</code>+1 WHERE <code>id</code>=".$id." LIMIT 1;"); }}}} mysql_query("UPDATE <code>".$table_prefix."adnelink</code> SET <code>links</code> ='".$bl."' WHERE <code>id</code> ='".$row["id"]."' LIMIT 1 ;"); } print "Перелинковка сделана"; } else { print "Нет неиспользованных ссылок для перелинковки"; } } else { print "Нет свободных постов для перелинковки"; } } if($g == 2) { $sql = "TRUNCATE <code>".$table_prefix."adnelink</code>"; mysql_query($sql); $sql = "TRUNCATE <code>".$table_prefix."adnelinks</code>"; mysql_query($sql); print "Ссылки удалены"; } if($g == 3) { $query = "SELECT * FROM ".$table_prefix."adnelink WHERE <code>pid</code> ='".$r."' LIMIT 1"; $rem = mysql_query($query); while ($row = mysql_fetch_assoc($rem)) { $links=$row["links"]; print"<form method=post><input name=g type=hidden value=4><input name=r type=hidden value=$r>Редактировать блок ссылок:<br> <textarea name=k cols=100 rows=20>".$links."</textarea> <br><input type=submit value=\"Сохранить\"></form>"; } } if($g == 4) { mysql_query("UPDATE <code>".$table_prefix."adnelink</code> SET <code>links</code> ='".$k."' WHERE <code>pid</code> ='".$r."' LIMIT 1 ;"); print "Изменения сохранены"; } if($g == 5) { if (!mysql_query("SELECT * FROM <code>".$table_prefix."adnelink</code>")){ $sql="CREATE TABLE IF NOT EXISTS <code>".$table_prefix."adnelink</code> ( <code>id</code> int(10) NOT NULL auto_increment, <code>pid</code> int(10) NOT NULL, <code>links</code> text NOT NULL, PRIMARY KEY (<code>id</code>) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0"; mysql_query($sql); } if (!mysql_query("SELECT * FROM <code>".$table_prefix."adnelinks</code>")){ $sql="CREATE TABLE IF NOT EXISTS <code>".$table_prefix."adnelinks</code> ( <code>id</code> int(10) NOT NULL auto_increment, <code>url</code> varchar(1000) NOT NULL, <code>text</code> varchar(1000) NOT NULL, <code>html</code> varchar(4000) NOT NULL, <code>is</code> int(10) NOT NULL, <code>pred</code> int(10) NOT NULL, PRIMARY KEY (<code>id</code>) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0"; mysql_query($sql); } //соберём кеи $link = file(dirname( __FILE__ ) . '/links.txt'); $links = array_unique($link); $nl = sizeof($link); //заливаем в базу кеи for($i = 0; $i < $nl; $i++) { $links[$i]=str_replace("\"","", $links[$i]); $m=explode(";", $links[$i]); $m[1]=trim($m[1]); if ($m[1] != "") { $lk ="<a href=\"$m[1]\" title=\"$m[0]\">$m[0]</a>"; //проверяем на уникальность html кода $query = "SELECT * FROM ".$table_prefix."adnelinks WHERE <code>html</code> = '".$lk."'"; $res = mysql_query($query); $number = mysql_num_rows($res); if ($number == 0) { if ($m[2] == "") {$m[2]=1;} $sql="INSERT INTO ".$table_prefix."adnelinks (<code>text</code>, <code>url</code>, <code>html</code>, <code>is</code>, <code>pred</code>) VALUES ('".$m[0]."', '".$m[1]."', '".$lk."', 0, '".$m[2]."')"; mysql_query($sql); } } } //записываем ID всех опубликованных постов $sql = "SELECT * FROM <code>".$table_prefix."posts</code> WHERE <code>post_status</code> = 'publish' AND <code>post_type</code> = 'post'"; $result = mysql_query($sql); while($data = mysql_fetch_array($result)) { //проверяем на дубликаты постов $query = "SELECT * FROM ".$table_prefix."adnelink WHERE <code>pid</code> = '".$data[ID]."'"; $res = mysql_query($query); $number = mysql_num_rows($res); if ($number == 0) { $sql="INSERT INTO ".$table_prefix."adnelink (<code>pid</code>) VALUES ('".$data[ID]."')"; mysql_query($sql); } } //сколько у нас свободных линков $query = "SELECT sum(<code>pred</code>-<code>is</code>) FROM ".$table_prefix."adnelinks WHERE <code>is</code> < <code>pred</code>"; $resul = mysql_query($query); $ir = mysql_fetch_array($resul); $nl= $ir['sum(<code>pred</code>-<code>is</code>)']; if ($nl == "") { $nl=0; } $query = "SELECT * FROM ".$table_prefix."adnelinks WHERE <code>is</code> < <code>pred</code>"; $res = mysql_query($query); $nlr = mysql_num_rows($res); //сколько у нас свободных постов? $query = "SELECT * FROM ".$table_prefix."adnelink WHERE <code>links</code> = ''"; $res = mysql_query($query); $n = mysql_num_rows($res); if ($n > 0) { $k=ceil($nl/$n); } else { $k=0; } print "Неиспользованных ссылок: $nl из них разных: $nlr<br> Готовых к перелинковке постов: $n<br> <br><br> <form method=post><input name=g type=hidden value=1> Максимальное количество ссылок на пост: <input name=k size=5 type=text> - если ничего не указывать, то плагин разделит ссылки поровну между постами, округлит результат, в результате ссылок на пост =< $k. <br>Разделитель ссылок: <input name=r size=5 type=text value=\", \"> <br><br><input type=submit value=\"Перелинковать\"></form> <br><br><hr> "; } } print "<form method=post><input name=g type=hidden value=5><input type=submit value=\"Собрать данные для перелинковки\"></form> <br><br><form method=post><input name=g type=hidden value=2><input type=submit value=\"Удалить ссылки\"></form> <br><br><form method=post><input name=g type=hidden value=3>Редактировать блок ссылок в посте ID<input name=r size=5 type=text><input type=submit value=\"Редактировать\"></form> <br><br><hr>"; print "<b>Автоматизация</b>: "; $av=get_option('adnelink_av'); if ($av != 1) {print "<font color=red>выключена</font>";} else {print "<font color=green>включена</font>";} print " <br><br>Здесь можно настроить автоматическую простановку ссылок в новых постах. Предварительно добавьте ссылки в базу данных из links.txt - кнопка \"Собрать данные для перелинковки\" - выше.<br> <form method=post action=options.php>"; wp_nonce_field('update-options'); print "Сколько ссылок ставим в каждом новом посте: <input type=text name=adnelink_ak size=5 value=\""; echo get_option('adnelink_ak'); print "\"><input type=hidden name=action value=update><input type=hidden name=page_options value=adnelink_ak> <input type=submit value=Сохранить></form>"; print "<form method=post action=options.php>"; wp_nonce_field('update-options'); print "Разделитель ссылок: <input type=text name=adnelink_ar value=\""; echo get_option('adnelink_ar'); print "\"><input type=hidden name=action value=update><input type=hidden name=page_options value=adnelink_ar> <input type=submit value=Сохранить></form>"; print "<form method=post action=options.php><input name=g type=hidden value=6>"; wp_nonce_field('update-options'); if ($av != 1) {print "<input type=hidden name=adnelink_av value=1>";} else {print "<input type=hidden name=adnelink_av value=0>";} print "<input type=hidden name=action value=update><input type=hidden name=page_options value=adnelink_av>"; if ($av != 1) {print "<input type=submit value=Включить>";} else {print "<input type=submit value=Выключить>";} print "</form> <br><br><hr>"; print "<b>Дополнительные настройки</b><br><br><form method=post action=options.php>"; wp_nonce_field('update-options'); print "Текст перед ссылками: <input type=text name=adnelink_btext value=\""; echo get_option('adnelink_btext'); print "\"><input type=hidden name=action value=update><input type=hidden name=page_options value=adnelink_btext><input type=submit value=Сохранить></form>"; print "<br><br><br><br><hr> Свежие новости о плагине читайте на странице плагина <a target=_blank href=http://adne.info/adnelink/>adne.info/adnelink/</a><br> <a href=http://adne.info/adne-info/>Лучшие посты блога adne.info</a> | <a href=http://adne.info/kupit-trafik/>Купить трафик</a> | <a href=http://adne.info/partnyorskie-programmyi/>Партнёрские программы</a> <script src=\"http://feeds.feedburner.com/adne?format=sigpro\" type=\"text/javascript\"></script> P.S.: Обратите внимание на <a href=http://adne.info/skript-izbirnet/>движок социальных голосований Избирнет</a> - отличная возможность получать трафик и ссылки с социальных сетей и твиттера. "; } //функция вывода ссылок function adnelink(){ global $table_prefix; global $wp_query; $postid = $wp_query->post->ID; $sql = "SELECT * FROM <code>".$table_prefix."adnelink</code> WHERE <code>pid</code> = ".$postid; $result = mysql_query($sql); $array = mysql_fetch_array($result); if ($array[links] != "") {$btext=get_option('adnelink_btext'); print "$btext$array[links]";} } function adnelink_menu(){ add_options_page('Adnelink - перелинковка под трафик', 'Adnelink', 10, basename(__FILE__), 'get_adnelink_do'); } function adneavlink( $post_ID ){ $av=get_option('adnelink_av'); if ($av == 1) { global $table_prefix; $query = "SELECT * FROM ".$table_prefix."adnelink WHERE <code>pid</code> = '".$post_ID."'"; $res = mysql_query($query); $n = mysql_num_rows($res); if ($n == 0) { $k=get_option('adnelink_ak'); $r=get_option('adnelink_ar'); $bl=""; $query = "SELECT * FROM ".$table_prefix."adnelinks WHERE <code>is</code> < <code>pred</code> LIMIT ".$k; $rem = mysql_query($query); $number = mysql_num_rows($rem); if ($number != 0) { while ($rom = mysql_fetch_assoc($rem)) { $blu=urlencode($bl);$str = urlencode($rom['url']);$strt = urlencode($rom["text"]); if (!((preg_match ("/".$str."/i", $blu)) OR (preg_match ("/".$strt."/i", $blu)))) { $bl=$rom["html"].$r.$bl; $id=$rom["id"]; mysql_query("UPDATE <code>".$table_prefix."adnelinks</code> SET <code>is</code>=<code>is</code>+1 WHERE <code>id</code>=".$id." LIMIT 1;"); }}} $sql="INSERT INTO ".$table_prefix."adnelink (<code>pid</code>, <code>links</code>) VALUES ('".$post_ID."', '".$bl."')"; mysql_query($sql); } } } add_action('admin_menu', 'adnelink_menu'); add_action('publish_post', 'adneavlink'); ?>
Просмотр 3 ответов — с 1 по 3 (всего 3)
Просмотр 3 ответов — с 1 по 3 (всего 3)
- Тема «Плагин для внутренней перилинковки по списку ключевик» закрыта для новых ответов.