如何正确声明路径?

时间:2020-09-19 10:09:14

标签: css wordpress

我正在尝试在their documentation之后覆盖WordPress上名为H5P的插件的CSS。由于我不是开发人员,所以我觉得太难了,所以我按照第一条建议提出的步骤进行操作:

  1. 创建一个名为h5pmods的文件夹,并将其放置在wp-content / plugins /目录中

  2. 创建一个名为 phpmods.php 的PHP文件,该文件将进入h5pmods文件夹,其中包含:

    
    /**
    
     * H5P Mods Plugin. 
    
     * Alters the way the H5P plugin works.
    
     * @package   H5P
    
     * @author    Joubel <<a href="mailto:contact@joubel.com">contact@joubel.com</a>>
    
     * @license   MIT
    
     * @link      <a href="http://joubel.com">http://joubel.com</a>
    
     * @copyright 2015 Joubel
    
     *
    
     * @wordpress-plugin
    
     * Plugin Name:       H5P Mods
    
     * Plugin URI:        <a href="http://www.h5p.org">http://www.h5p.org</a>
    
     * Description:       Overrides the H5P native H5P CSS with your own adjustments.
    
     * Version:           0.0.1
    
     * Author:            H5P
    
     * Author URI:        <a href="http://www.h5p.org">http://www.h5p.org</a>
    
     * Text Domain:       h5pmods
    
     * License:           MIT
    
     * License URI:       <a href="https://opensource.org/licenses/MIT">http://opensource.org/licenses/MIT</a>
    
     * Domain Path:       /languages
    
     * GitHub Plugin URI: <a href="https://github.com/h5p/h5pmods-wordpress-plugin">https://github.com/h5p/h5pmods-wordpress-plugin</a>
    
     */
    
    // If this file is called directly, abort.
    
    if (!defined('WPINC')) {
    
      die;
    
    }
    
    /**
    
     * Allows you to alter which stylesheets are loaded for H5P. This is
    
     * useful for adding your own custom styles or replacing existing once. *
    
     * @param object &styles List of stylesheets that will be loaded.
    
     * @param array $libraries The libraries which the styles belong to.
    
     * @param string $embed_type Possible values are: div, iframe, external, editor.
    
     */
    
    function h5pmods_alter_styles(&$styles, $libraries, $embed_type) {
    
      $styles[] = (object) array(
    
        'path' => '/custom-h5p.css',
    
        'version' => '?ver=1.0' // Cache buster
    
      );
    
    }
    
    add_action('h5p_alter_library_styles', 'h5pmods_alter_styles', 10, 3);
    
    ?>
    
    
  3. 和一个名为 custom-h5p.css 的自定义CSS文件,该文件将转到/ wp-content / uploads / h5p / 目录。

我面临的问题是另一个人说这不是最佳选择,应该将两个文件都放在plugins目录中,然后从以下位置更改初始php文件中的路径声明:

'path' => '/custom-h5p.css',

收件人:

'path' => plugin_dir_url( __FILE__ ).'/custom-h5p.css',

这是我感到困惑的地方。我的理解是,plugin_dir_url对于我的情况是:htdocs/wp-content/plugins是我在FTP插件中找到的路径。但是后来我对( FILE )感到困惑。我应该在那放什么?有人可以帮忙我应该遵循的确切格式吗?

此外,自定义CSS文件应该放在插件目录中还是我先前创建的h5pmods文件夹中?

我在同一个论坛中不询问的原因是,它非常不活跃。

很抱歉,如果我的问题不清楚,这太过头了,我什至不知道如何正确询问或寻找什么。

1 个答案:

答案 0 :(得分:2)

在这种情况下,应将custom-h5p.css文件与该htdocs/wp-content/plugins/h5pmods文件一起放在phpmods.php文件夹中。 魔术常数__FILE__指示您指定phpmods.php文件所在的文件夹路径。如果将__DIR__放在其中,它将输出htdocs/wp-content/plugins