DIY Wordpress HACK - How to import Ultimate Tag Warrior Tags if you keep getting errors! DIY Wordpress HACK - Como importar Ultimate Tag Warrior Tags caso você continue a receber erros!
Well, since I’ve upgraded to Wordpress 2.5, I’ve had to let go of Ultimate Tag Warrior. Pois bem, pois eu tenho atualizado para Wordpress 2,5, eu tinha de deixar de ir Ultimate Tag Warrior. Actually, I thought Ultimate Tag Warrior was working until today, when I found out every URL such as Na verdade, eu pensava Ultimate Tag Warrior estava trabalhando até hoje, quando eu descobri como cada URL http://zedomax.com/tag/lasers , was giving me a 404 error. , Foi dando-me um erro 404.
Well, being an old school I am, Pois bem, sendo eu sou uma velha escola, I did even try to downgrade back to my favorite Wordpress 2.2.3 Eu fiz downgrade até mesmo tentar voltar à minha favorita Wordpress 2.2.3 , which results in catastrophic failure with the wp-categories… Damn it! , O que resulta numa avaria catastrófica com o wp-categorias… Droga!
So I did look through the internet and basically Wordpress 2.5 has a built-in function to let you import Ultimate Tag Warrior tags. Então eu fiz olhar através da Internet e, basicamente, Wordpress 2,5 está equipado com uma função para permitir que você importar Ultimate Tag Warrior tags.
Even though it should have gone smoothly, I did encounter LOTS of problems as the built-in function was very basic and did not support importing of 47,000 tags , which is what this site has. Mesmo que ele deveria ter ido sem problemas, eu encontro LOTES de problemas como o alto-função era muito básico e não se importar de apoio 47000 tags, que é o que tem neste site.
The first problem I had was that I keep getting the following message: O primeiro problema eu tinha era que eu vivo recebendo a seguinte mensagem:
Done! Feito! 13331 tags were read. 13331 tags foram lidas.
Reading UTW Post Tags… Leitura UTW Post tags…
Done! Feito! 45824 tags to post relationships were read. 45824 tags para postar relacionamentos foram lidas.
Adding Tags to Posts… Inclusão de tags para posts…
Done! Feito! 0 tags were added! 0 tags foram adicionadas!
Now, as you can see everything worked until the last line, “Done! Agora, como você pode ver tudo funcionou até a última linha, "Feito! 0 tags were added!”. 0 tags foram adicionadas! ". I was so furious to know why it wasn’t working, so I even downgraded to Wordpress 2.3.1-RC, which others were saying that it worked. Eu era tão furioso de saber por que razão não foi trabalhar, por isso mesmo desclassificado para Wordpress 2.3.1-RC, que outros foram dizendo que ele trabalhou.
Now when I tried to import, I did get this error message: Agora, quando eu tentei importar, me fez chegar esta mensagem de erro:
WordPress database error: [Got a packet bigger than 'max_allowed_packet' bytes] WordPress database erro: [Got um pacote maior que 'max_allowed_packet' bytes]
This one is easy, this simply means your MySQL server is not set to handle large amount of data. Esta é uma tarefa fácil, isto significa simplesmente o seu servidor MySQL não está definido para lidar com grande quantidade de dados.
So I did change the max_allowed_packet size to 1 gigabyte like this by add this line: Então eu fiz max_allowed_packet mudar o tamanho de 1 gigabyte como este por adicionar esta linha:
set-variable = max_allowed_packet=1024M set-variable = max_allowed_packet = 1024M
(Yes, 1 gig should do the job I thought…) (Sim, 1 giga deve fazer o trabalho que eu pensava…)
Well, it turns out that after this change, I don’t get the “0 tags were added” message, but the screen “hangs” at the last step of the import screen… Pois bem, verifica-se que após esta mudança, eu não tirar o "0 tags foram adicionados" mensagem, mas a tela "trava" na última etapa da importação tela…
As a more of a good hacker than a developer I am, I finally decided it was time to hack the Wordpress itself . Como uma das mais um bom hacker que não sou um desenvolvedor, eu finalmente decidiu que era hora de cortar o próprio Wordpress.
When I looked into the import php file, utw.php which is under wp-admin/import directory of your Wordpress blog. Quando olhei para a importação php arquivo, utw.php que está sob wp-admin/import diretório do seu blog Wordpress.
It turns out that the import program is very basic at most and the programmer didn’t even consider large chunks of data. Acontece que a importação programa é muito básico e, no máximo, o programador nem sequer considerou grandes pedaços de dados.
So instead of doing 1 MySQL query, I changed it so it only fetches 100 data bits at a time. Então, em vez de fazer 1 MySQL consulta, o texto foi alterado de forma que ele só recupera 100 bits dados de uma só vez.
If you are having problems like me with a large tag database, you can change the following function in utw.php like this: Se você está tendo problemas como eu com uma etiqueta grande banco de dados, você pode mudar em função dos seguintes utw.php como este:
function tag2post ( ) { tag2post função () (
// get the tags and posts we imported in the last 2 steps / / Get as tags e nos postos importados nos últimos 2 etapas
$tags = get_option(’utwimp_tags’); $ tags = get_option ( 'utwimp_tags');
$posts = get_option(’utwimp_posts’); $ posts = get_option ( 'utwimp_posts');global $wpdb; global $ wpdb;
$startvalue=0; $ startvalue = 0;
$endvalue=1000; endvalue $ = 1000;
$ct=$startvalue; $ ct = $ startvalue;$tags_added = 0; $ tags_added = 0;
while($ct<$endvalue) { while ($ ct <$ endvalue) ($posts_query = “SELECT tag_id, post_id FROM ” . posts_query $ = "SELECT tag_id, post_id FROM". $wpdb->prefix . $ wpdb-> prefixo. “post2tag”.” LIMIT “.$ct.”,100″; "Post2tag". "Limite". $ Ct. ", 100";
$posts = $wpdb->get_results($posts_query); $ posts = $ wpdb-> get_results (US $ posts_query);if($posts) { if ($ lugares) (
// null out our results / / Nulos os nossos resultados// loop through each post and add its tags to the db / / Loop através de cada posto e adicionar tags para o seu db
foreach ( $posts as $this_post ) { foreach ($ $ lugares como this_post) ($the_post = (int) $this_post->post_id; the_post $ = (int) $ this_post-> post_id;
$the_tag = (int) $this_post->tag_id; the_tag $ = (int) $ this_post-> tag_id;// what’s the tag name for that id? / / Qual é a tag nome para que id?
$the_tag = $tags[$the_tag]; the_tag $ = $ tags [$ the_tag];// screw it, just try to add the tag / / Parafuso-la, basta tentar adicionar a tag
wp_add_post_tags($the_post, $the_tag); wp_add_post_tags (US $ the_post, US $ the_tag);
$tags_added++; $ tags_added + +;
echo “Num: “.$tags_added.” - “.$the_tag.”<br />”; echo "Num:". $ tags_added. "-". $ the_tag. "<br />";} )
} )
$ct=$ct+100; $ $ ct = ct +100;
sleep(0.1); dormir (0,1);
} )
echo “HACKED by Max Lee from http://zedomax.com yey!”; echo "CORTADO por Max Lee de http://zedomax.com yey!";// that’s it, all posts should be linked to their tags properly, pending any errors we just spit out! / / É isso, todos os postos deverão ser ligadas às suas tags corretamente, enquanto se aguarda eventuais erros nos apenas cuspir out!
return $tags_added; regressar $ tags_added;} )
Download my UTW.php here Baixe aqui o meu UTW.php (rename utw.txt as utw.php) (renomeie utw.txt como utw.php)
Now, my recommendation is to run the Step 3 of the UTW import by taking 2000 tags at a time. Agora, a minha recomendação é a de executar o Passo 3 do UTW importação em 2000 tendo tags de uma só vez. You can change the value of $startvalue and $endvalue to control the range of your imports. Você pode alterar o valor de US $ startvalue e US $ endvalue para controlar o leque de suas importações.
FInally, I did get all my precious tags imported, now you can install the Finalmente, eu fiz o meu precioso obter todas as tags importadas, agora você pode instalar o Tag Suggest Thing and some other cool stuff from the UTW Tag Coisa Sugestões e algumas outras coisas legais a partir da UTW .
Phew, that was a long 4 hours of hacking Wordpress. Phew, que foi uma longa 4 horas de hacking Wordpress. Although I am very impressed at the new Wordpress 2.5, functions like the Ultimate Tag Warrior import could be improved dramatically through use of smarter programming and AJAX. Ainda estou muito impressionado com o novo Wordpress 2,5, funciona como o Ultimate Tag Warrior importação poderia ser melhorado através da utilização de dramaticamente mais inteligente programação e AJAX.
What I do recommend that Wordpress developers do is use AJAX to fetch at most 1000 tags at a time and then update the screen and the database to protect again freezing or users having to re-configure their MySQL server. O que eu recomendo que Wordpress desenvolvedores fazer é usar AJAX para buscar a maior parte dos tags em 1000 uma vez e, depois, o ecrã e atualizar o banco de dados para proteger os usuários de novo congelamento ou ter que re-configurar seu servidor MySQL.
I also found out that if your PHP setttings for max_execution_time is low, (mine was at 10 seconds), this can be a problem as the import process takes longer than 10 seconds for big databases. Eu também descobri que, se o seu PHP setttings para max_execution_time é baixo, (mina era a 10 segundos), isto pode ser um problema como o processo de importação demorar mais de 10 segundos para grandes bases de dados.
So change it like this in your /etc/php.ini file: Por isso, alterá-la como esta, em seu arquivo / etc / php.ini file:
max_execution_time = 90 ; Maximum execution time of each script, in seconds max_execution_time = 90; prazo máximo de execução de cada script, em segundos
max_input_time = 95 ; Maximum amount of time each script may spend parsing request data max_input_time = 95; quantidade de tempo cada script poderá gastar analisar o pedido dados
memory_limit = 128M memory_limit = 128M
Then you can change it back after import. Então você pode alterá-lo de volta depois de importação.
Now, I’ve outlined all the possible problems you can have while importing your “large” number of tags. Agora, eu tenho sublinhado a todos os eventuais problemas que você pode chegar ao importar o seu "grande" número de tags.
For blogs with little or less than 2000 tags, the default Wordpress importer shouldn’t be a problem but for people like me with over 10,000 tags, this is a big problem but I am sure Wordpress developers will update it in the future. Para blogs com pouca ou inferior a 2000 tags, o padrão Wordpress importador não deve ser um problema, mas para pessoas como eu, com mais de 10000 tags, este é um grande problema, mas estou certo Wordpress desenvolvedores irá atualizá-lo no futuro. Check me out as I tried to get help from Wordpress Forum Check me out como eu tentei obter a ajuda do Fórum Wordpress , but I did figure it out eventually myself. , Mas eu fiz a descobri eventualmente eu próprio.
DIY HACK - How to make your own Firefox extension from scratch! DIY HACK - Como fazer sua própria extensão Firefox a partir do zero! - Part I -- Parte I
Well, there’sa flood of Firefox Toolbar makers out there, but I feel that is too much cheating and you don’t actually learn anything. Plus, those toolbars are very chubby and don’t run fast as it could when you make them from scratch. Pois bem, há uma inundação do Firefox Toolbar decisores políticos que estão por aí, mas penso que é demasiado batota e você não realmente aprender alguma coisa. Plus, essas barras de ferramentas estão muito José António e não correm rápido, uma vez que poderia torná-los quando você a partir do zero.
In this session, I will teach you how to make your own Firefox extension and make it say, “Hello World!” from scratch. (Not exactly from scratch but…) Nesta sessão, vou ensinar-lhe como fazer o seu próprio Firefox extensão e torná-lo dizer, "Olá, Mundo!" A partir do zero. (Não exatamente a partir do zero, mas…)
It’s pretty easy actually. É realmente muito fácil. You can use this Você pode usar este Firefox/Thunderbird Extension Wizard Firefox / Thunderbird extensão Assistente to get the skeleton code for your new Firefox extension. para obter o código esqueleto para seu novo Firefox extensão.
Simply fill in the blanks like below and make sure to note the Extension ID , you can probably put your favorite e-mail address here: Basta preencher os espaços em branco como abaixo e certifique-se de registar a Extensão ID, provavelmente você pode colocar o seu endereço de e-mail favorito aqui:

After unzipping the downloaded files, simple unzip the files into a directory such as c:\mytoolbar. Após unzipping os arquivos baixados, simples descompactar os arquivos em um diretório como c: \ mytoolbar.
After that, you can create a text file called, “zedomax@gmail.com”, which is what you put for Extension ID earlier. Depois disso, você pode criar um arquivo de texto chamado, "zedomax@gmail.com", que é o que você colocar para a Extensão ID mais cedo. Simply put “c:\mytoolbar” in the text file and save it. Basta colocar "c: \ mytoolbar" no arquivo de texto e salvá-lo. (Yes, you need to simply set the path and save it…) (Sim, basta que você precisa para definir o caminho e salvá-lo…)
Now put that text file in your profile directory, usually something like, “ c:\Documents and Settings\ Username \Application Data\Mozilla\Firefox\Profiles\ xxx .default\extensions\ ” where Username is your username and xxx will be variable depending on your computer. Agora que ponha arquivo texto no seu perfil diretório, normalmente algo como, "c: \ Documents and Settings \ Utilizador \ Application Data \ Mozilla \ Firefox \ Perfis \ xxx. Padrão \ extensões \" onde username é o seu nome de usuário e xxx será variável dependendo do seu computador.
After that, simply restart your Firefox and then go to Tools->Add-Ons and you will see your Firefox extension as seen here: Depois disso, basta reiniciar o Firefox e, em seguida, vá para Ferramentas-> add-ons e você irá ver a sua extensão Firefox como visto aqui:

In my case, I named it “SiteHoppin Toolbar”, since I am making a SiteHoppin Toolbar. No meu caso, eu lhe chamado "SiteHoppin Barra de Ferramentas", uma vez que estou a fazer um SiteHoppin Toolbar.
Now that’s the basics to be able to edit your extension with Javascript and other great stuff. Agora isso é o básico para poder editar o seu prolongamento com o Javascript e outras grandes novidades. Greatest thing or the easiest thing about Firefox extensions is that it supports Javascript. Greatest coisa ou a coisa mais simples sobre extensões Firefox é que suporta Javascript. Even if you turn off your Javascript support for browsing, Javascript for extensions still work, the real beauty behind Firefox extensions. Mesmo se você desligar o seu apoio à navegação Javascript, Javascript para extensões continuam a trabalhar, a verdadeira beleza por trás Firefox extensões.
Now, you don’t see any buttons other than this new menu button called, “ Your localized menuItem ” under Tools. Agora, você não vê quaisquer outros botões do que este novo botão chamado, "Seu localizada MENUITEM" em Ferramentas. Press on it and you will get a “Hello World!” message. Pressione a ela, e você obterá um "Olá, Mundo!" Mensagem.


But you can also go add your first icon button by going to View->Toolbars->Customize , then find your icon and drag it anywhere you want. Mas você também pode ir adicionar seu primeiro ícone botão, vá para View-> Toolbars-> Personalizar e, em seguida, encontrar o seu ícone e arraste-o onde quiser.

Now you should see your very first ever Firefox extension button like here: Agora você deve ver a sua grande extensão botão primeira vez Firefox como aqui:

Yey, congratulations! Yey, parabéns!
You can now go play with the DTD files in your plugin folder OR you can go to this Você pode agora ir jogar com o DTD arquivos em sua pasta plugin ou você pode ir para o presente Mozilla Help for further instructions Mozilla Ajuda para obter mais instruções OR simply check back in couple days as we will have part II of this DIY. Ou simplesmente verificar novamente em dois dias teremos como parte II da presente bricolage.
C’ ya, have great coding weekend! C 'ya, têm grande codificação semana!





















