Instal.lació i configuració d'un blog amb wordpress

De Wikijoan
Dreceres ràpides: navegació, cerca

Contingut

Instal.lació i configuració inicial

Instal.larem el wordpress sobre un servidor Apache instal.lat (http://localhost) i els paquets de PHP instal.lats (inclòs el paquet php5-mysql per poder treballar amb mysql).

Hem de crear una base de dades en el mysql

mysql -u root -p
mysql> create database blog;

Em baixo la última versió de wordpress de http://wordpress.org/download/: wordpress-2.7.tar.gz Si vull baixar-me la versió en català, ho puc fer a ca.wordpress.org o http://ca.wplangs.com, que apunten al mateix fitxer. Jo m'he baixat el fitxer wordpress-2.7-ca.zip.

i la descomprimeixo a /var/www, que és el directori arrel de l'Apache (o a /etc/apache2/sites-available/default):

(Nota: Viag fer la instal.lació en anglès i, a posteriori, en fase de pre-producció, vaig instal.lar la versió catalana i vaig copiar el directori wp-content/uploads i wp-content/themes). El resultat ha estat satisfactori. El resultat ha estat satisfactori, no he tingut problemes particulars greus en fer la migració).

llegir readme.html

I s'instal.la sense problemes. Això sí, hi ha molta cosa per configurar: plantilles, el teu perfil,...

http://localhost/blog

Recordar que per entrar a la zona d'administració és: http://localhost/blog/wp-admin

Instal.lar un tema

Escullo de la web el tema azul.1.1.zip

To install a theme you generally just need to upload the theme folder into your wp-content/themes directory. Once a theme is uploaded, you should see it on this page.

Diferència entre tag i category

http://faq.wordpress.com/2007/09/21/the-difference-between-tags-and-categories/

poder escriure en el directori wp-content

Això és necessari per poder pujar fotos. Si treballo com a local no hi ha problema, però si ho faig remotament:

$ sudo chmod 757 wp-content

La primera vegada que penjo una foto es crea el directori wp-content/uploads. És en aques directori on estarà tot allò que pengi.

De cara a fer còpies de seguretat, en tinc prou amb copiar tot el contingut de wp-content.

blog multiidioma (oblidar-se d'això)

això ho implemento al blog www.joanillor.org, que acabo de configurar. M'interessa que totes les entrades estiguin en català, castellà i anglès, i busco un plugin que em permeti fer-ho i administrar-ho de forma fàcil.

El plugin que escullo és Translate 1.2 (http://www.misternifty.com/translate)

Instal.lació:

  1. Upload translate.php to the /wp-content/plugins/ directory
  2. Activate the plugin through the 'Plugins' menu in WordPress
  3. Add languages in the Translate menu on the admin panel. Afegeixo els idiomes català, español i english. Faig que el castellà sigui el idioma per defecte.
  4. Visit: http://www.misternifty.com/translate for full documentation of shortcodes and template tags.

La manera d'introduir les traduccions és molt fàcil. En les entrades del blog edito:

[translations]
[translate lang=español]
texto en español
[/translate]
[translate lang=català]
text en català
[/translate]
[translate lang=english]
text in English
[/translate]

La primera etiqueta, [tranlations], serveix perquè el visitant pugui escollir. Com que no m'agrada el format (amb llista), ho canvio i ho simplifico:

function list_translations()
{
    $currenturl = (!empty($_SERVER['HTTPS'])) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'] : "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
    $currenturl = preg_replace('/[\&\?]lang\=[a-z]*/', '', $currenturl);
    $currenturl = preg_replace('/index\.[a-z]*/', '', $currenturl);
        global $wpdb;
    //$trans = $wpdb ->get_results("SELECT name FROM wp_translate");
    //echo "<ul class='translate'>";
    //foreach($trans as $tran)
    //{
    //    if(url_check()):$transurl = '&lang='.$tran->name; else:$transurl = '?lang='.$tran->name; endif;
    //    $translist .= '<li class="list_item_'.$tran->name.'"><a href="'.$currenturl.$transurl.'">'.lang_proper($tran->name).'</a></li>';
    //}
    //echo $translist."</ul>";
    echo '<a href="?lang=español">Español</a> | <a href="?lang=català">Català</a> | <a href="?lang=english">English</a>';
}

blog multiidioma II: xlanguage plugin

Sembla ser que va millor... Tinc un problema. A l'intentar configurar, vull entrar a wp-admin i no em deixa. Es queda bloquejat a la pàgina de login, tot i que el login i pwd són correctes. El millor serà començar de zero, agafar la última versió de wordpress, i escollir un theme que sigui més ample.

No em sortia, i el truco està en què s'ha d'activar el widget de xlanguage. Això està a Appearance > Widgets.

Un how-to que ho explica bé (l'ajuda oficial no m'aclara) està a http://hellosam.net/lang/en/category/project/xlanguage?page=3&cp=28#comments

1) Download and install the plugin in the plugin folder.
2) Activate it.
3) Click on Settings > XLanguage (left column).
4) Under Add Languages, type in Locale Code “en-us”, Name “English” (remove the quotes), Add Language
5) Under Add Languages, type in Locale Code “es” (for Spanish), Name “Spanish” (remove the quotes), Add Language
6) At top click on Language Advanced. Click to Enable Content Filtering. Hit Update Filtering Options.
7) Under Presentations, select all check boxes under Availability. Hit Update Presentations.
“8)” Under Mix and Match, for Locale Code es put “en-us” under Fallback.
9) It should be asking you at top in yellow to regenerate the metadata. Go ahead.
10) Open up your latest blog post that you want to translate. Click edit. With the Visual tab selected, you will see 4 new options to use on your menu bar that look like thought bubbles. Highlight the first paragraph and select thought bubble 1 “tag as en-us.” Click over to the HTML tab. You should now see that the paragraph starts with “” and ends with “”. Alternatively, you could paste this in yourself.
11) Click back over to the Visual tab. Highlight the paragraph again. Go to Freetranslation.com and paste into their window to translate from English to Spanish (Mexican) or whatever language you are doing. Translate. Copy-paste both the English and translated Spanish into Word. Copy the Spanish text back into Freetranslation.com and convert back into English. Note that it does a decent job but not great. Hopefully you, like me, have some rudimentary Spanish skills and can pick out the words/phrases that don’t work and can find some that do. For example, it translated “boss” into “leader,” so I chose instead to translate “employer” and replace that word.
12) Once you’ve cleaned up the paragraph as best you can, pray that no one who speaks native Spanish laughs at your work and go back into the Visual tab of your post. Paste the translated paragraph beneath the English version as a separate paragraph. Highlight it and now click thought bubble 2, which marks it as Spanish. Click over to the HTML tab and observe how it now has at the beginning of the paragraph “”and at the end of the paragraph “”. Alternatively, you could have pasted this in.
13) Assuming the first paragraph is also your Excerpt, copy both English and Spanish versions into the Excerpt field. It is best to do this from the HTML tab to make sure you grab all the appropriate metadata.
14) Update your post.
15) Under Appearance (left column) > Widgets, find the XLanguage List widget. Drag and drop it into the right column wherever you want it. Do not add a Title into the Field, it’s not necessary.
16) Go look at your site. You should now be able to click on either Spanish or English via the widget to change the language of the first paragraph of your post.
17) Now you just have to translate the rest of your post.

blog multiidioma III: qTranslate plugin (nou servidor, oct 2011)

Va molt bé, m'agrada molt la manera de gestionar els idiomes, i és molt fàcil (al contrari del cas anterior)

configuració del blogjoanillo (desembre 2009)

creo en el mysql la base de dades blogjoanillo. El que puc fer ja és modificar els scripts de còpies de seguretat per fer còpies d'aquesta base de dades.

instal.lo la versió 2.8.4

$ tar xvzf wordpress-2.8.4.tar.gz 
$ mv wordpress blogjoanillo

Faig que el propietari sigui www-data:

sudo chown www-data:www-data -vR -/home/joan/blogjoanillo

Segueixo els passos de la instal.lació...

WordPress se ha instalado: login: joanillo / 1hhl@VOKvLoD

Per tal de poder accedir al blog en la direcció www.joanillo.org, s'ha de fer una sèrie de passos:

sudo a2ensite www.joanillo.org (equivalent a fer el softlink)
sudo /etc/init.d/apache2 reload

Finalment, per tal de poder accedir des de l'ordinador local (192.168.1.130) al domini www.joanillo.org, he de ficar una entrada en el fitxer /etc/hosts:

127.0.0.1       ubuntu
127.0.0.2       www.empresalibre.org
127.0.0.3       wiki.empresalibre.org
127.0.0.4       blog.empresalibre.org
127.0.0.5       www.joanillo.org

hack blog www.joanillo.org i theme mystique

La idea és documentar tots els passos que faig fins obtenir un disseny que m'agrada, d'un blog multiidioma.

hack #1

Canviar les dates

select post_title,post_date,post_date_gmt from wp_posts;
update wp_posts set post_date='2009-09-15 12:00:00', post_date_gmt='2009-09-15 11:00:00' where post_title like '%VIDA 12.0%';
update wp_posts set post_date='2009-10-08 12:00:00', post_date_gmt='2009-10-08 11:00:00' where post_title like '%Wolkswagen%';
update wp_posts set post_date='2009-09-18 12:00:00', post_date_gmt='2009-09-18 11:00:00' where post_title like '%color%';
update wp_posts set post_date='2009-12-03 12:00:00', post_date_gmt='2009-12-03 11:00:00' where post_title like '%Temperatura%';

hack #2

afegir els idiomes en la barra de dalt, amb el format que jo vull

<li class="page_item page-item-2"><a class="fadeThis" href="http://www.joanillo.org/?page_id=2&lang=en" title="About"><span class="title">About</span><span class="pointer"></span></a></li>

En el fitxer header.php de cadascuna del themes (hi ha un theme per a cada idioma): A la fila 97, abans del </ul>:

<li><a href="http://www.joanillo.org/?lang=en" title="English"><span class="idioma">English</span></a></li>
<li><a href="http://www.joanillo.org/?lang=es" title="Español"><span class="idioma">Español</span></a></li>
<li><a href="http://www.joanillo.org/?lang=ca" title="Català"><span class="idioma">Català</span></a></li>
      </ul>

@import "http://www.joanillo.org/wp-content/themes/mystique/style.css"; @import "http://www.joanillo.org/wp-content/themes/mystique/color-green.css";

i ara he de definir la classe idioma. La idea és que es vegi diferent dels altres links, i que no converteixi a majúscules. En el themes/mystique/style.css afegeixo aquesta línia

/*** TOP NAVIGATION ***/
...
ul#navigation li a span.idioma{font-weight:normal;font-size:100%;text-transform:none;}

Aquests canvis s'han d'aplicar en els tres themes

hack #3

que el títol (Joanillo Media Art) no estigui en majúscules. A style.css:

/*** LOGO & HEADLINE ***/
...
#site-title #logo a{color:#fff;text-decoration:none;text-shadow:#000 1px 1px 1px;letter-spacing:-0.04em;}

(elimino font-variant:small-caps;)

hack #4

modificar: Art & Technology with free tools

#site-title p.headline{float:left;border-left:1px solid #999;margin:0 0 0 1em;padding:.2em 0 .2em .8em;font-weight:normal;font-size:140%;line-height:64px;letter-spacing:0.4em;}

ho canvio per:

#site-title p.headline{float:left;border-left:1px solid #999;margin:0 0 0 1em;padding:.2em 0 .2em .8em;font-weight:normal;font-size:180%;line-height:64px}

hack #5

En els posts, modificar

Posted by admin in Arduino | Edit

per

Posted by joanillo in Arduino

la informació està a wp-content/themes/mystique/index.php

Cercar:

<div class="post-info clearfix <?php if ($post_thumb) echo 'with-thumbs' ?>">
          <p class="author alignleft"><?php printf(__('Posted by %1$s in %2$s','mystique'),'<a href="'. get_author_posts_url(get_the_author_ID()) .'" ti
            ?>

i línies següents

Elimino:

<?php edit_post_link(__('Edit','mystique'),' | '); ?>

no canvio res del posted by admin, i el que faig és:

update wp_users set user_login='joanillo', user_nicename='joanillo', display_name='joanillo' where user_login='admin';

hack #6

footer.php

    © 2009 Joan Quintana Compte <em>joanillo</em> | <a href="mailto:joanqc@gmail.com?body=mail from www.joanillo.org visitor">joanqc@gmail.com</a>

hack #7

eliminar la imatge en.png de la llista de languages

copio el fitxer a plugins/xlanguage/images/langh.png a plugins/xlanguage/view/xlanguage/images/ i creo tres còpies: ca-active.png, en-active.png i es-active.png

Aleshores, en el fitxer /wp-content/plugins/xlanguage/view/xlanguage/list_langs.php, ficar un comentari a

<img src="$img" alt="$name" title="$name" />

i deixar igual:

<img src="$imgactive" alt="$name" title="$name - Active" />


hack #8

eliminar la referència del Twitter a la capçalera

a header.php, ficar un comentari a

	<?php

       //$twituser = get_mystique_option('twitter_id');

       // if(is_active_widget('TwitterWidget'))

       $twitinfo =  get_option('mystique-twitter');

       $twituser = $twitinfo['last_twitter_id'];



       if ($twituser): ?>

      <a href="http://www.twitter.com/<?php echo $twituser; ?>" class="nav-extra twitter" title="<?php _e("Follow me on Twitter!","mystique"); ?>"><span><?php _e("Follow me on Twitter!","mystique"); ?></span></a>

      <?php endif; ?>

Això s'ha de fer en els header.php dels 3 themes que utilitzo

hack #9

Integrar els comentaris del Youtube a Wordpress. Molt fàcil, s'utilitza el Genki Youtube Comments Plugin. Aleshores els comentaris de YouTube apareixen com comentaris del Wordpress. Ho he posat que s'actualitzi un cop al dia.

hack #10 (encara no està solucionat)

posar el theme mystique amb un altre idioma (no confondre amb el xlanguage...) el següent pas serà que l'idioma del theme coincideixi amb el que he triat en el xlanguage (l´unic que hauré de fer és configurar el theme mystique amb el anglès, el mystique-ca amb el català i el mystique-es amb el castellà)

Ara bé, compte!, no confondre la traducció del wordpress amb la traducció del theme

llegeixo

Catalan version available at: ca.wordpress.org -> descarregar la versió catalana i regles per a la instal.lació. Però compte! que això és el wordpress en català i no els fitxers mo per a la traducció...

to activate your translation change the WPLANG constant in the wp-config.php file:
for example:

    define (’WPLANG’, ‘fr_FR‘);

There are also plugins that can change that for you, if you don’t want to mess with the code…
wget http://ca.wordpress.org/wordpress-2.8.6-ca.zip

theme Calotropis (servidor nou, nov 2011)

M'agrada aquest tema, però la lletra és massa petita.

Calotropis Theme Options:

Background > Resize font size > canviar 100% a 120% (afecta a tots els llocs on hi ha text)

Instal.lar Contact Form 7 i servidor SMTP

També permet fer Checkboxes, Radio Buttons and Menus

Vull ficar un formulari de contacte. Instal.lo el plugin Contact Form 7. En el meu Mozilla tinc problemes de disseny i no es veuen els contorns del formulari. El full d'estils que trobem a ~/blogjoanillo/wp-content/plugins/contact-form-7/stylesheet.css no és rellevant. NOTA. Això que dic no és cert, funciona molt bé. Es crea un formulari, i el que s'ha de copiar és només la part de dalt, per ex:

[contact-form 6 "contact_form_en"]

El problema ve que tinc instal.lat el plugin xlanguage per fer el blog multiidioma i això si que no funciona:

<span lang="en">
[contact-form 6 "contact_form_en"]
</span>
<span lang="es">
[contact-form 5 "contact_form_es"]
</span>
<span lang="ca">
[contact-form 4 "contact_form_ca"]
</span>

Això no funciona (es veuen els tres). La solució és veure el codi font d'un formulari, i copiar-lo directament:

<span lang="en">
  <form ...>
  ...
  </form>
</span>
<span lang="es">
  <form ...>
  ...
  </form>
</span>
<span lang="ca">
  <form ...>
  ...
  </form>
</span>

evidentment hem traduït només les etiquetes del formulari. Puc eliminar contact_form_ca i contact_form_es. Deixo contact_form_en de mostra.

A part del disseny, el més important és poder enviar els correus: necessito un servidor de SMTP. Em decanto pel plugin WP-Mail-SMTP 0.8.2, que és molt fàcil d'instal.lar i configurar (s'instal.la com un plugin, es configura a wp-admin).

Reconfigures the wp_mail() function to use SMTP instead of mail() and creates an options page to manage the settings. Por Callum Macdonald.

$ wget http://www.callum-macdonald.com/download/wp-mail-smtp.zip

Fico la configuració del gmail:

SMTP Host: smtp.gmail.com	
SMTP Port: 465	
Encryption: Yes
Use SSL encryption.
Use SMTP authentication.
Username: joanqc
Password: jq****

I ara ja puc rebre correus a joanqc@gmail.com provinentes d'aquest formulari.

Puc gestionari múltiples formularis de contacte, que puc inserir en un post, una pàgina o un widget.

Nota. Al final estic treballant amb una programació personalitzada per fer un carret de la compra de Paypal, amb accés a bases de dades, i suposo que em servirà per poder fer el meu formulari de contacte, amb inserció a la base de dades, i així no haver de dependre d'aquest plugin. Veure ECommerce_-_carret_de_la_compra

Instal.lar passarel.la amb Paypal

Instal.lo el plugin WP Simple Paypal Shopping cart.

Simple Paypal Shopping Cart Settings v 2.6

For information, updates and detailed documentation, please visit: http://www.tipsandtricks-hq.com/?p=768

Usage:

1. To add the 'Add to Cart' button simply add the trigger text [wp_cart:PRODUCT-NAME:price:PRODUCT-PRICE:end] to a post or page next to the product. Replace PRODUCT-NAME and PRODUCT-PRICE with the actual name and price. For example: [wp_cart:Test Product:price:15.00:end]

2. To add the shopping cart to a post or page (eg. checkout page) simply add the shortcode [show_wp_shopping_cart] to a post or page or use the sidebar widget to add the shopping cart to the sidebar.

S'instal.la sense problemes i el carrito de la compra funciona sense problemes. He configurat un compte nou de paypal, i he eliminat un anterior que tenia. joanqc@gmail.com/jq******** (em sembla).

Ara bé, amb aquest plugin, com puc fer proves (sandbox)? Potser si la cosa funciona de veritat hauria de fer programació PHP i utilitzar les guies de Paypal.

Nota. Al final estic treballant amb una programació personalitzada per fer un carret de la compra de Paypal. Veure ECommerce_-_carret_de_la_compra

Google Analytics a www.joanillo.org

Registro un compte a Google Analytics per al domini www.joanillo.org

login: joanqc

Instruccions per implementar Google Analytics a www.joanillo.org

Estàndar amb un únic domini www.joanillo.org

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-11299935-1");
pageTracker._trackPageview();
} catch(err) {}</script>

Estàndar amb varis dominis www.joanillo.org, blog.joanillo.org, wiki.joanillo.org

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-11299935-1");
pageTracker._setDomainName(".joanillo.org");
pageTracker._trackPageview();
} catch(err) {}</script>

Opcions avançades amb un únic domini www.joanillo.org

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-11299935-1");
pageTracker._trackPageview();
} catch(err) {}</script>

Opcions avançades amb varis dominis www.joanillo.org, blog.joanillo.org, wiki.joanillo.org

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-11299935-1");
pageTracker._setDomainName(".joanillo.org");
pageTracker._trackPageview();
} catch(err) {}</script>

personalitzat

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-11299935-1");
pageTracker._trackPageview();
} catch(err) {}</script>

Google Analytics a www.retroplaneta.com

Important anar a Google Webmaster Tools (és el mateix que el Search Console). Aquí puc veure molta informació important. El tema és que a dia d'avui (febrer 2017), el domini té molt poques visites, i no apareix indexat amb la cera Recreativa arcade, que és la que controlo i la que m'interessa. Canvis que he fet últimament:

Al Chrome, s'ha d'instal.lar el Google Tag Assistant Recordings plugin per tal de saber, en les pàgines que es visiten, i en les meves, quina és l'eficàcia dels tags. De moment, no veig massa clar com funciona.

Plugin antispam: Did You Pass Math? Askimet

Did You Pass Math?

nota: no m'acaba de funcionar

A simple wordpress comment anti-spam plugin.

How do I install it?

Like any wordpress plugin, simply unzip two files in to your wp-content/plugins directory and activate it via your plugin control panel. The two files are

   * 'did_you_pass_math_functions.php'
   * '<languagecode>/did_you_pass_math.php' 

Note, both these files go to the same directory ('wp-content/plugins/')

$ wget http://www.herod.net/dypm/did_you_pass_math.zip

Askimet (nov 2011, nou servidor)

M'he de registrar a la web i aconseguir una Askimet API key

Your Akismet API key is: 64379099bdec
To activate Akismet in recent versions of WordPress:
1. Go to the Plugins tab of your WordPress wp-admin dashboard.
2. Find the Akismet plugin.  Click the Activate link if it's not already active.
3. Go to the Plugins -> Akismet Configuration tab.
4. Enter your API key 64379099bdec in the box.
5. Click the Update Options button.

Plugin per mostrar i imprimir codi: SyntaxHighlighter

SyntaxHighlighter Evolved, que l'instal.lo. Aquest plugin és per poder afegir codi en un post, per exemple, codi php, amb la funcionalitat d'imprimir, veure el codi font, copiar al portapapers. Pot ser interessant per a una altra ocasió.

La manera d'utilitzar-lo és simple:

[language]code here[/language] -> en general
[php]code here[/php] -> en particular
[css]code here[/css] -> en particular

wget http://downloads.wordpress.org/plugin/syntaxhighlighter.zip

Inserir Javascript

Abans d'utilitzar JQuery o similars, prefereixo inserir només el Javascript just amb l'experiència que tinc amb Javascript, amb dos objectius:

Per tal de posar Javascript en el codi Wordpress, llegir per exemple:

plugin soundcloud

M'he registrat a soundcloud per poder penjar tracks d'audio:

Per exemple, el primer track que he penjat és:

existeix un plugin per integrar aquest track a Wordpress: soundcloud shortcode

i ha e ser tan senzill com inserir en un post un shortcode com aquest:

[soundcloud url="http://api.soundcloud.com/tracks/11314692"]

El problema està en que els shortcodes a mi no em funcionen, i hauré d'esperar a tenir el nou servidor a punt amb una versió més recent del wordpress. Tampoc em funciona el shortcode [audio ...], però en canvi [gallery]] sí que em funciona.

Com a solució inserto tot el embedded code:

<object height="81" width="100%"> <param name="movie" value="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F11314692"></param> <param name="allowscriptaccess" value="always"></param> <embed allowscriptaccess="always" height="81" src="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F11314692" type="application/x-shockwave-flash" width="100%"></embed> </object>  <span><a href="http://soundcloud.com/joanillo/en-pere-i-el-llop-peter-and">En pere i el llop - Peter and the Wolf (sample)</a> by <a href="http://soundcloud.com/joanillo">joanillo</a></span> 

El primer post on ho he utilitzat és el de la gravació a mp3 del vinil del Pere i el Llop:

Instal.lació servidor nou. Upgrade de la bd (octubre 2011)

Fins ara tenia la versió 2.7, i en el nou servidor instal.lo la versió 2.9.2: wordpress-2.9.2-ca.zip

create database blogjoanillo DEFAULT CHARACTER SET utf8;

En l'arxiu readme.html es diu com he de fer el upgrade.

Faig una còpia de la base de dades

$ mysqldump --add-drop-table -i -C -u root -p -r blogjoanillo_191011.dmp -v blogjoanillo
scp joan@192.168.1.130:/mnt/disc_windows/blogjoanillo_191011.dmp .

i ara importo la base de dades:

$ mysql -u root -p -D blogjoanillo < ~/copia_seguretat/mysql_backup/blogjoanillo_191011.dmp

i ara ja puc fer /wp-admin/upgrade.php al navegador

Compartir soundcloud amb el wordpress (desembre 2013)

No hi havia cap problema per obtenir el codi per afegir un track de soundcloud al wordpress, però ara ha desaparegut i només es pot fer share a Google +, Facebook, Twitter, etc.

De totes maneres és fàcil, només ni ha prou a esbrinar el id del track.

Share > Google + > Codi font de la pàgina > cercar api.soundcloud.com/tracks/

El número que hi ha al darrera, per ex 123005064, és el que m'interessa. És l'identificador de la cançó.

Per ficar una cançó de soundcloud en el post faig:

<object height="81" width="100%"> <param name="movie" value="https://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F51094579"></param> <param name="allowscriptaccess" value="always"></param> <embed allowscriptaccess="always" height="81" src="https://player.soundcloud.com/player.swf?url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F51094579" type="application/x-shockwave-flash" width="100%"></embed> </object>  <span><a href="https://soundcloud.com/joanillo/samples-accordion-castagnari">Samples Accordion Castagnari Studio</a> by <a href="http://soundcloud.com/joanillo">joanillo</a></span> 

i el que he de fer és substituir el número en el lloc correcte. On posa

url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F51094579

he de substituir 51094579 per 123005064, tenint en compte que

%2F = /
%3A = :

url=http%3A%2F%2Fapi.soundcloud.com%2Ftracks%2F51094579
és equivalent a:
url=http://api.soundcloud.com/tracks/51094579

Carregar fitxers amb extensions no suportades (desembre 2013)

Vull carregar el fitxer castagnari.sf2, que a més pesa 25MB. El que puc fer és copiar directament al fitxer a la carpeta.

El més senzill és pujar-lo a la carpeta:

i aleshores ja es pot descarregar des de la url:

Enllaç directe a una categoria (petit hack agost 2014)

Per enllaçar directament als posts d'una determinada categoria, per exemple arcade, vull utilitzar l'enllaç www.joanillo.org/arcade en comptes de www.joanillo.org/?cat=30. En teoria això es pot fer amb el Ajustes de los enlaces permanentes (a la zona d'administració), però a mi no m'ha sortit amb la meva versió 3.2.1, encara que ho hauria de suportar. Bé, el tema es pot solucionar amb una simple redirecció:

$ sudo mkdir arcade
$ cd arcade/
$ sudo joe index.php
$ cd ..
$ sudo chown www-data:www-data -R arcade/
$ cd arcade/
$ sudo joe index.php

i el contingut del fitxer index.php:

<?php
function Redirect($url, $permanent = false)
{
if (headers_sent() === false)    
{        
header('Location: ' . $url, true, ($permanent === true) ? 301 : 302);          
}                  

exit();                      
}              
Redirect('http://www.joanillo.org/?cat=30', false);        
?>

Això s'hauria de fer per cada categoria de la qual vull disposar aquesta funcionalitat.

Integració del wordpress amb una pàgina web. Filtrar posts d'una categoria

En el domini retroplaneta.com, es tracta de visualitzar els posts que estan publicats dins la categoria Arcade.

Els posts estan publicats en la taula wp_posts:

mysql> desc wp_posts (camps que interessen)
ID
post_date
post_modified
post_status
post_content
post_title

Els estats en què poden estar els posts:

mysql> select distinct post_status from wp_posts;
+-------------+
| post_status |
+-------------+
| inherit     |
| draft       |
| publish     |
| auto-draft  |
| pending     |

Cada vegada que actualitzo un post representa una nova versió, una nova entrada. Per exemple, totes aquestes entrades corresponen al mateix post:

select ID, post_date, post_modified, post_status, post_title from wp_posts where ID>=953;

| ID  | post_date           | post_modified       | post_status |
+-----+---------------------+---------------------+-------------+
| 953 | 2015-01-26 20:31:00 | 2015-01-30 14:12:22 | publish     |
| 954 | 2015-01-26 20:30:51 | 2015-01-26 20:30:51 | inherit     |
| 955 | 2015-01-26 20:31:00 | 2015-01-26 20:31:00 | inherit     |
| 956 | 2015-01-30 14:12:10 | 2015-01-30 14:12:10 | inherit     |
| 957 | 2015-01-26 20:31:54 | 2015-01-26 20:31:54 | inherit     |
| 958 | 2015-01-26 21:17:59 | 2015-01-26 21:17:59 | auto-draft  |
| 959 | 2015-01-26 20:36:27 | 2015-01-26 20:36:27 | inherit     |
| 960 | 2015-01-26 21:18:14 | 2015-01-26 21:18:14 | inherit     |
| 963 | 2015-01-30 14:08:04 | 2015-01-30 14:08:04 | inherit     |
| 964 | 2015-01-30 14:08:44 | 2015-01-30 14:08:44 | inherit     |
| 966 | 2015-01-30 14:08:52 | 2015-01-30 14:08:52 | inherit     |
| 967 | 2015-01-30 14:10:00 | 2015-01-30 14:10:00 | inherit     |

El port que val és el post_status='publish' que és el que té el post_modified més tard i per tant és la última versió publicada. Fixem-nos que s'actualitza de manera que el que té el status publish és el que té el ID més baix.

Ara anem a enllaçar els posts amb la categoria. Els posts relacionats amb Arcade pertanyen a la categoria Arcade

mysql> select * from wp_terms;
+---------+------------------------------------+-----------------------------------+------------+
| term_id | name                               | slug                              | term_group |
+---------+------------------------------------+-----------------------------------+------------+
...
|      30 | Arcade                             | arcade                            |          0 |
|      31 | arcade                             | arcade-2                          |          0 |

No confondre: Arcade és la categoria, i arcade és una etiqueta que vaig posar en un post. Per categoritzar els posts es pot fer de les dues maneres: amb categories i amb etiquetes.

mysql> desc wp_term_relationships;
+------------------+---------------------+------+-----+---------+-------+
| Field            | Type                | Null | Key | Default | Extra |
+------------------+---------------------+------+-----+---------+-------+
| object_id        | bigint(20) unsigned | NO   | PRI | 0       |       |
| term_taxonomy_id | bigint(20) unsigned | NO   | PRI | 0       |       |
| term_order       | int(11)             | NO   |     | 0       |       |

Per tant, per saber els posts que estan dins la categoria Arcade, farem la següent select:

mysql> select * from  wp_term_relationships where term_taxonomy_id=30;
+-----------+------------------+------------+
| object_id | term_taxonomy_id | term_order |
+-----------+------------------+------------+
|       873 |               30 |          0 |
|       902 |               30 |          0 |
|       961 |               30 |          0 |

Vull obtenir informació d'aqeusts posts, i els filtro de manera que el staus és publish i que siguin de la categoria Arcade:

select ID, post_date, post_title from wp_posts wp, wp_term_relationships wtr where wp.ID=wtr.object_id and post_status='publish' and term_taxonomy_id=30 order by post_date;

| 873 | 2014-07-24 09:41:09 | <!--:ca-->Joanillo Arcade Frontend. Un simple frontend per a PiMAME/PiPLAY<!--:--><!--:en-->Joanillo Arcade Frontend. A simple frontend for PiMAME/PiPLAY<!--:--><!--:es-->Joanillo Arcade Frontend. Un simple frontend para PiMAME/PiPLAY<!--:-->         |
| 902 | 2014-08-22 12:55:48 | <!--:ca-->M�quina de marcianitos. Projecte Pimame/PiPlay (Arcade bartop cabinet)<!--:--><!--:en-->My Arcade bartop cabinet. Projecte Pimame/PiPlay project<!--:--><!--:es-->M�quina de marcianitos. Proyecto Pimame/PiPlay (Arcade bartop cabinet)<!--:--> |

Per obtenir el text del post només cal afegir el camp post_content:

select ID, post_date, post_title, post_content from wp_posts wp, wp_term_relationships wtr where wp.ID=wtr.object_id and post_status='publish' and term_taxonomy_id=30 order by post_date;

creat per Joan Quintana Compte, febrer 2009-maig 2010-agost 2014

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
IES Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines