1. Go to this page and download the library: Download dwnload/wp-settings-api library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
dwnload / wp-settings-api example snippets
declare(strict_types=1);
namespace Vendor\Package;
use Dwnload\WpSettingsApi\Api\Script;
use Dwnload\WpSettingsApi\Api\Style;
use Dwnload\WpSettingsApi\WpSettingsApi;
use TheFrosty\WpUtilities\Plugin\AbstractHookProvider;
use TheFrosty\WpUtilities\Plugin\HooksTrait;
/**
* Class WpSettingsApi
*
* @package Dwnload\WpSettingsApi
*/
class WpSettingsApiScripts extends AbstractHookProvider
{
public function addHooks(array $scripts): void
{
\add_filter(WpSettingsApi::FILTER_PREFIX . 'admin_scripts', [$this, 'adminScripts']);
\add_filter(WpSettingsApi::FILTER_PREFIX . 'admin_styles', [$this, 'adminStyles']);
}
/**
* The default script needs to be moved from the vendor directory somewhere into our app since the
* vendor directory is outside of the doc root.
* @param Script[] $scripts
* @return array
*/
public function adminScripts(array $scripts): array
{
\array_walk($scripts, function (Script $script, int $key) use (&$scripts) {
switch ($script->getHandle()) {
case WpSettingsApi::ADMIN_SCRIPT_HANDLE:
/**
* If you're not using the `TheFrosty\WpUtilities\Plugin\AbstractHookProvider`
* use `plugins_url()` in place of the `$this->getPlugin()->getUrl` or any other WP
* function that will point to the asset.
* (Should match `frontpack/composer-assets-plugin configs`)
*/
$scripts[$key]->setSrc($this->getPlugin()->getUrl('assets/js/admin.js'));
break;
case WpSettingsApi::ADMIN_MEDIA_HANDLE:
/**
* If you're not using the `TheFrosty\WpUtilities\Plugin\AbstractHookProvider`
* use `plugins_url()` in place of the `$this->getPlugin()->getUrl` or any other WP
* function that will point to the asset.
* (Should match `frontpack/composer-assets-plugin configs`)
*/
$scripts[$key]->setSrc($this->getPlugin()->getUrl('assets/js/wp-media-uploader.js'));
break;
}
$this->registerScript($script);
});
return $scripts;
}
/**
* The default style needs to be moved from the vendor directory somewhere into our app since the
* vendor directory is outside of the doc root.
* @param Style[] $styles
* @return array
*/
public function adminStyles(array $styles): array
{
\array_walk($styles, function (Style $style, int $key) use (&$styles) {
if ($style->getHandle() === WpSettingsApi::ADMIN_STYLE_HANDLE) {
/**
* If you're not using the `TheFrosty\WpUtilities\Plugin\AbstractHookProvider`
* use `plugins_url()` in place of the `$this->getPlugin()->getUrl` or any other WP
* function that will point to the asset.
*/
$styles[$key]->setSrc($this->getPlugin()->getUrl('assets/css/admin.css'));
$this->registerStyle($style);
}
});
return $styles;
}
/**
* If the script is not registered before being returned back to the filter the src still uses
* the vendor directory file path.
* @param Script $script
*/
private function registerScript(Script $script): void
{
\wp_register_script(
$script->getHandle(),
$script->getSrc(),
$script->getDependencies(),
$script->getVersion(),
$script->getInFooter()
);
}
/**
* If the style is not registered before being returned back to the filter the src still uses
* the vendor directory file path.
* @param Style $style
*/
private function registerStyle(Style $style): void
{
\wp_register_style(
$style->getHandle(),
$style->getSrc(),
$style->getDependencies(),
$style->getVersion(),
$style->getMedia()
);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.