Using e() or esc_html_() when translating on WordPress

In a talk at the WordCamp Spain online 2021 Adriá Cobo asked me one interesting question about these 2 functions (e() and esc_html_()):

If everything that is printed must be escaped, what is the point of _e()? Is it a legacy code?

In this post, I try to answer this question.

Documenting GlotPress with phpDocumentor

The current GlotPress API documentation (October 2021) was generated by ApiGen. Last commit was made on April 4th, 2016.

The last ApiGen commit was made on 23 Apr 2018, so I think this tool is deprecated. Furthermore, I was not able to use it with PHP 7.4 and GlotPress, so I look for another tool. The most PHP used tool is phpDocumentor. In this post I explain how to use it with GlotPress.

Install phpDocumentor globally on the machine, using the .phar tool.

cd ~/code/utils
mkdir phpDocumentor
cd phpDocumentor

Get the last .phar URL.


To run phpDocumentor, execute:

php phpDocumentor.phar run \ 
-d ~/code/wordpress/glotpress-env/glotpress.git \ 
-t ~/code/wordpress/glotpress-env/gp-docs \
--ignore "vendor/"


  • ~/code/wordpress/glotpress-env/glotpress.git is the GlotPress folder.
  • ~/code/wordpress/glotpress-env/gp-docs is the documentation folder.
  • vendor/ is the folder where Composer stores all the information. It is located in the root folder of the project.

How to setup a master-master replication system between two MySQL servers

In this post, I will go to explain how to set up a master-master replication system between two MySQL to replicate an existing database.

The MySQL master-master configuration is a master-slave configuration in both directions and allows us to get a high availability configuration because you have the same data in both servers and if one goes down you can still work with the live server.