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.

wget https://github.com/phpDocumentor/phpDocumentor/releases/download/v3.1.2/phpDocumentor.phar

To run phpDocumentor, execute:

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

Where:

  • ~/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.