我创建了以下插件来实现这一点:“创建WordPress插件,做以下事情:
在 gutenberg 编辑器中有一个按钮,用于编辑一篇文章,在侧边栏中,通常被称为“文档侧边栏”或“设置侧边栏”。此按钮将显示“生成标题”当按下生成标题按钮时,它将获取文章正文的内容,然后仅获取前50个字符并将其设置为标题。请确保插件具有任何必要的配置,等,以便它可以安装和激活类似的方式,以其他WordPress插件”
我使用这个代码:
<?php
/**
* Plugin Name: Generate Title
* Plugin URI: https://github.com/546546
* Description: A WordPress plugin that generates the post title based on the first 50 characters of the post content.
* Version: 1.0
* Requires at least: 5.2
* Requires PHP: 7.2
* Author: My Name
* Author URI: my website
* License: GPL v2 or later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
// Add custom JavaScript logic for the Generate Title button
// Add button to Gutenberg editor sidebar
function add_generate_title_button() {
if ( ! function_exists( 'register_block_type' ) ) {
// Gutenberg not active
return;
}
register_block_type( 'generate-title/button', array(
'render_callback' => 'render_generate_title_button'
));
}
add_action( 'init', 'add_generate_title_button' );
// Render button HTML
function render_generate_title_button() {
?>
<button onclick="generateTitle()">Generate Title</button>
<?php
}
// JS to hook click and generate title
function add_generate_title_script() {
?>
<script>
function generateTitle() {
const content = document.querySelector('.editor-post-text-editor__content');
const title = document.querySelector('.editor-post-title__input');
if (content.innerHTML && title) {
title.value = content.innerHTML.substr(0,50);
}
}
</script>
<?php
}
add_action( 'admin_footer', 'add_generate_title_script' );
?>
字符串
我是新的WordPress,这不显示任何按钮在我的 gutenberg ,我不知道为什么,我有WordPress的最后一个版本,我没有错误的浏览器控制台.不是一个缓存的事情.
1条答案
按热度按时间sirbozc51#
你的回调函数必须返回html,而不是显示它。试试这个:
字符串