【问题标题】:Generating shortcode and displaying in admin area生成简码并在管理区域显示
【发布时间】:2019-11-02 20:54:12
【问题描述】:

基本上我正在编写一个插件来创建滑块。安装此插件后,它会创建一个名为“滑块”的自定义帖子类型并使用 ACF 填充它们。

我还创建了在页面/帖子上显示滑块的简码。简码是这样工作的 -> [slider id=12] ,这将显示 id 为 12 的滑块。

我正在尝试找到一种在管理区域中显示短代码的方法,用户只需复制即可,而不是查找 ID 号。这是示例。

谢谢。

【问题讨论】:

  • 你想复制你的短代码,管理员可以在帖子和页面中过去,然后它的显示滑块对吗?
  • @Jinesh ,是的。短代码已经在生成。我只需要一种方法在管理区域的某处显示短代码,用户可以在其中复制和使用它。
  • 有这个 wordpress 最新版本的简码吗?
  • 我认为如果您使用的是 wordpress 5.2,那么您需要创建自定义块来满足您的需求

标签: php wordpress plugins shortcode wordpress-shortcode


【解决方案1】:

假设sliders 是您的CPT slug,您可以使用manage_sliders_posts_columns 添加列头。

add_filter('manage_sliders_posts_columns', 'wpso_custom_columns_head');
function wpso_custom_columns_head($defaults) {
    $defaults['shortcode']  = 'Shortcode';
    return $defaults;
}

添加列标题后,现在我们需要为列添加内容。使用manage_sliders_posts_custom_column 钩子。使用它你可以回显短代码。

add_action('manage_sliders_posts_custom_column', 'wpso_custom_columns_content', 10, 2);
function wpso_custom_columns_content( $column_name, $post_ID ) {
    if ( 'shortcode' === $column_name ) {
        echo '[shortcodename id="' . $post_ID . '"]';
    }
}

【讨论】:

    【解决方案2】:

    显示自定义字段标签/标题

    add_filter( "manage_{$post_type}_posts_columns", array( $this, 'manage_columns' ) );
    
    public function manage_columns( $columns ) {
            $new_columns              = array();
            $new_columns['cb']        = '<input type="checkbox" />';
            $new_columns['title']     = esc_html__( 'Slider Name', 'wp-quiz' );
            $new_columns['shortcode'] = esc_html__( 'Shortcode', 'wp-quiz' );
            $new_columns['date']      = esc_html__( 'Date', 'wp-quiz' );
    
            return $new_columns;
        }
    

    显示每个滑块的简码

    add_action( "manage_{$post_type}_posts_custom_column", array( $this, 'manage_column_data' ), 10, 2 );
    
    
    
      public function manage_column_data( $column, $post_id ) {
            echo '<div class="field"><input type="text" readonly value="' . esc_html( '[wp_slider id=&quot;' . $post_id() . '&quot;]' ) . '" onClick="this.select();" style="width:100%;"></div>';
        }
    

    您也可以通过以下链接从 codex.wordpress.org 查看 https://codex.wordpress.org/Plugin_API/Action_Reference/manage_$post_type_posts_custom_column

    【讨论】:

      猜你喜欢
      • 2011-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-29
      • 2015-07-06
      • 1970-01-01
      相关资源
      最近更新 更多