
Security News
Vite Releases Technical Preview of Rolldown-Vite, a Rust-Based Bundler
Vite releases Rolldown-Vite, a Rust-based bundler preview offering faster builds and lower memory usage as a drop-in replacement for Vite.
wp-textdomain
Advanced tools
Lint and fix textdomain and usage in PHP files in plugins and themes.
Lint and fix textdomain and usage in PHP files in plugins and themes.
Install with yarn:
$ yarn add wp-textdomain --dev
OR
Install with npm:
$ npm install wp-textdomain --save-dev
Typical usage is done during a build process for plugins or themes. This code shows how to add linting on your php files, and output the results to console:
const wpTextdomain = require( 'wp-textdomain' );
wpTextdomain( '**/*.php', {
domain: 'theme-name',
} );
Alternatively, you can pass the configuration option to automatically fix the issues found during the linting report:
const wpTextdomain = require( 'wp-textdomain' );
wpTextdomain( '**/*.php', {
domain: 'theme-name',
fix: true
} );
In some cases, you might need more than one textdomain while linting files to be checked against. A common use case for this is by including a framework, such as Kirki, in a theme which does supply it's own translations:
const wpTextdomain = require( 'wp-textdomain' );
wpTextdomain( '**/*.php', {
domain: [ 'theme-name', 'kirki' ],
fix: true
} );
When using the fix option, only errors found that aren't kirki
are fixed. When fixing errors, the first textdomain listed is the one used as the primary textdomain.
const wpTextdomain = require( 'wp-textdomain' );
wpTextdomain( pattern, options );
pattern
: String A glob pattern for matching files.
options
: Object wp-textdomain configuration options.
String/Array Textdomain(s) to lint and fix.
If a string is passed, this will be the textdomain that is used to compare against in linting. When passing an array of textdomains, all are checked against as valid textdomains to be used in a theme or plugin.
When running wp-textdomain with the fix option set, the first textdomain in the array is used as the primary textdomain that is used to replace or be added to gettext calls missing or with alternate textdomains.
Bool Whether or not to write files with fixes applied.
When using the fix option, errors that are found are fixed using the first textdomain listed.
Object php-parser configuration options.
Bool Whether or not to perform lints/fixes against gettext methods that are missing textdomains.
Bool Whether or not to perform lints/fixes against gettext methods that are using a variable instead of a string in the textdomain field.
Array A pattern list of strings containing available gettext methods, and argument positions.
Example:
options.keywords = [
'__:1,2d',
'_e:1,2d',
'_x:1,2c,3d',
'esc_html__:1,2d',
'esc_html_e:1,2d',
'esc_html_x:1,2c,3d',
'esc_attr__:1,2d',
'esc_attr_e:1,2d',
'esc_attr_x:1,2c,3d',
'_ex:1,2c,3d',
'_n:1,2,4d',
'_nx:1,2,4c,5d',
'_n_noop:1,2,3d',
'_nx_noop:1,2,3c,4d',
];
Object Configuration options for calls made to fs.readFileSync.
Object minimatch/glob configuration options to pass in.
Bool Option to force build fails by exiting process or just warn in console on error.
Object Logfile configuration options.
create
Boolpath
Stringformat
Object Filename output format.
prefix
String String to prepend at beginning of filename.timestamp
String A moment.js date/time string.suffix
String String to append to end of filename before extension.FAQs
Lint and fix textdomain and usage in PHP files in plugins and themes.
The npm package wp-textdomain receives a total of 1,318 weekly downloads. As such, wp-textdomain popularity was classified as popular.
We found that wp-textdomain demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Vite releases Rolldown-Vite, a Rust-based bundler preview offering faster builds and lower memory usage as a drop-in replacement for Vite.
Research
Security News
A malicious npm typosquat uses remote commands to silently delete entire project directories after a single mistyped install.
Research
Security News
Malicious PyPI package semantic-types steals Solana private keys via transitive dependency installs using monkey patching and blockchain exfiltration.