小编neo*_*art的帖子

WordPress > 古腾堡 > 如何将 Popover 添加到自定义格式类型?

我想扩展 WordPress (Gutenberg) 默认块 段落,让编辑者无需编写代码即可添加工具提示。

目标:

  • 添加块段落并添加一些文本
  • 选择文本并单击(新)按钮(应出现在文本样式旁边)
  • 工具提示按钮应该与链接按钮完全相同,只是应该可以输入文本而不是链接

在职的:

  • 我添加了一个按钮(文本样式)
  • 我可以选择文本并且可以添加类(.kf-tooltip)
  • 我知道如何通过 JS 添加工具提示

丢失的:

  • 如何添加 Popover 以输入工具提示文本
  • 如何存储/保存这些数据
  • 如何将此数据作为属性输出(例如:data-tooltip="Lorem ipsum")

任何帮助都是极好的!


WordPress 插件

<?php
/*
Plugin Name: KF Custom
*/

add_action( 'enqueue_block_editor_assets', function () {
    wp_enqueue_script(
        'kf-custom-script',
        plugins_url( 'kf-custom-script.js', __FILE__ ),
        array('wp-blocks', 'wp-rich-text')
    );
});

add_action( 'enqueue_block_assets', function () {
    wp_enqueue_style( 'kf-custom-style', plugins_url( 'style.css', __FILE__ ) );
});
Run Code Online (Sandbox Code Playgroud)

kf-自定义脚本.js

(function(wp){

    console.log(wp);

    // Create Popover
    const { Popover } = wp.components; …
Run Code Online (Sandbox Code Playgroud)

javascript wordpress reactjs wordpress-gutenberg

5
推荐指数
0
解决办法
1357
查看次数

用有效ID替换URL

我有一个包含大量链接的PHP String $菜单.我需要用基于链接的ID替换href.

我需要

  • 删除域名
  • 在开头和结尾删除斜线
  • 用' - '代替中间的斜线

这就是我所拥有的:

<a href="http://www.test.de/start/">Link</a>
<a href="http://www.test.de/contact/">Another Link</a>
<a href="http://www.test.de/contact/sub/">Sub Link</a>
Run Code Online (Sandbox Code Playgroud)

这就是我想要的:

<a href="#start">Link</a> 
<a href="#contact">Another Link</a>
<a href="#contact-sub">Another Link</a>
Run Code Online (Sandbox Code Playgroud)

我用preg_replace试了一下

$search = array(
    "/http:\/\/www.test.de/",
    "/".preg_quote('/">', '/')."/"
);
$replacement = array('#','">');
$menu = preg_replace($search,$replacement,$menu);
Run Code Online (Sandbox Code Playgroud)

我的解决方案看起来有点"脏,并没有取代中间的斜线.任何想法"真正的"模式来完成这个?

php regex

3
推荐指数
1
解决办法
93
查看次数