用我自己的文件替换核心WordPress文件

时间:2013-11-13 作者:Innate

Editing core files is never an option. - 问题不在于编辑核心文件,而在于找到一种使用插件或其他内置功能替换某些文件的方法。

我需要对核心wordpress文件显示的内容进行更多控制,并且该文件不包含我可以使用的挂钩。

是否可以改用我自己版本的wordpress核心文件?

EDIT

Issue: 媒体库需要并额外单击以获取上载文件的完整URL。

Files in question: wp管理/异步上载。php

Detail: 新版本的wordpress取消了将图像拖动到媒体上传器(在“媒体>添加新内容>”下)并获取文件名的功能。这应该是默认行为,我不知道为什么会删除它。现在,上传一个文件,只需单击“编辑”打开一个新页面即可获得文件名。

Original Code - starting on line 54:

case 3 :
        if ( $thumb_url = wp_get_attachment_image_src( $id, \'thumbnail\', true ) )
            echo \'<img class="pinkynail" src="\' . esc_url( $thumb_url[0] ) . \'" alt="" />\';
        echo \'<a class="edit-attachment" href="\' . esc_url( get_edit_post_link( $id ) ) . \'" target="_blank">\' . _x( \'Edit\', \'media item\' ) . \'</a>\';
        $title = $post->post_title ? $post->post_title : wp_basename( $post->guid ); // title shouldn\'t ever be empty, but use filename just in cas.e
        echo \'<div class="filename new"><span class="title">\' . esc_html( wp_html_excerpt( $title, 60, \'&hellip;\' ) ) . \'</span></div>\';
        break;

Code Addition - starting on line 54:

case 3 :
        if ( $thumb_url = wp_get_attachment_image_src( $id, \'thumbnail\', true ) )
    $image_url = wp_get_attachment_image_src( $id, \'full\', true );
            echo \'<img class="pinkynail" src="\' . esc_url( $thumb_url[0] ) . \'" alt="" />\';             
    echo \'<a class="edit-attachment" href="\' . esc_url( get_edit_post_link( $id ) ) . \'" target="_blank">\' . _x( \'Edit\', \'media item\' ) . \'</a>\';
    $title = $post->post_title ? $post->post_title : wp_basename( $post->guid ); // title shouldn\'t ever be empty, but use filename just in cas.e
    echo \'<div class="filename new"><span class="title">\' . esc_html( wp_html_excerpt( $title, 60, \'&hellip;\' ) ) . \'</span></div>\';
    echo \'<input type="text" value="\'.esc_url( $image_url[0] ).\'" disabled="disabled" size="100">\';
    break;
Result:我只添加了刚刚上传的完整图像的URL。虽然上传媒体后可以看到一点缩略图,但需要完整图像的URL,尤其是在上传多个文件时。我的附加代码只是添加了一个带有完整图像URL的输入,以便我可以复制并粘贴到其他地方。

起初我希望有一个简单的函数告诉wordpress:不要使用这个文件,使用另一个。

3 个回复
SO网友:Krzysiek Dróżdż

是的,这是可能的。您可以修改该文件并使用它。

但是要保持这些变化将需要大量的工作。您必须在每次WordPress更新后合并它们,并检查这些更改是否未破坏WP中的任何内容。这就是为什么这样的修改不是很常见,也不推荐这样的修改。

SO网友:Mark Kaplun

通常,不需要更改核心代码来更改HTML wordpress生成的内容。如果没有合适的过滤器,您可以始终缓冲输出,并对生成的HTML执行搜索和替换,以根据需要进行调整,然后将结果发送到浏览器。

SO网友:user42701

替换核心文件,如果您的意思是替换文件夹下的文件WP-ADMINWP-INCLUDES 那么这将不是一个好的解决方案,因为当您更新Wordpress时,它们将再次被覆盖。需要的事情可以通过根据需要制作主题来完成

结束

相关推荐