小编Mic*_*ert的帖子

Wordpress:在网址中包含语言变量

我一直在为wordpress开发一个完全有效的语言插件.现在唯一缺少的是网址重写.我一直在关注stackoverflow上的很多网站,资源和其他问题,但我似乎无法让我的永久链接工作.

我已经能够像这样添加一个查询字符串变量:

public function append_query_string($url) 
{
    $args = array('lang' => $this->get_locale());
    return add_query_arg($args, $url);
}
add_filter('page_link', array($this, 'append_query_string'));
add_filter('post_link', array($this, 'append_query_string'));
add_filter('the_permalink', array($this, 'append_query_string'));
Run Code Online (Sandbox Code Playgroud)

这会改变我的链接http://www.mylink.com?lang=en_us,例如.我现在想要的是添加一个permastruct,以便用户可以拥有漂亮的url(例如http://www.mylink.com/en/)

我添加了以下代码:

public function add_query_var($vars)
{
    $vars['lang'] = $this->get_locale();
    return $vars;
}
add_filter('request' , array($this, 'add_query_var'), 10, 2 );

public function custom_permastruct() 
{
    add_permastruct('language', '%lang%', false);
}
add_action('wp_loaded', array($this, 'custom_permastruct'));
Run Code Online (Sandbox Code Playgroud)

我现在唯一需要的是重写规则,我猜想,但我可能完全错了.谁知道添加这个permastruct的最佳解决方案是什么?

编辑 我一直试图让这个工作一个月,我似乎无法掌握永久链接,甚至没有所有以前的答案和我自己的研究.所以这就是为什么我再次以赏金来发布这篇文章的原因.我需要的是:我有一个返回语言代码的函数(get_locale).该语言代码应在我的URL中实现,如下所示:"http://www.mywebsite.com/LANGUAGE_HERE/..."

我知道我需要为此注册我自己的永久链接结构,但这就是一切都出错的地方.我需要什么过滤器以及我应该在过滤器功能中添加什么?非常感谢任何帮助,因为我在这里非常绝望.

编辑2

所以我添加了重写规则,但它们似乎也没有用.我在这里有点绝望.无论如何,这是重写规则的代码:

public function add_rewrite_rules()
{   
    $languages = $this->get_all_languages();
    foreach($languages as $language) {
        add_rewrite_rule('^' . $language->code . …
Run Code Online (Sandbox Code Playgroud)

wordpress permalinks url-rewriting

17
推荐指数
2
解决办法
2522
查看次数

如何在我的localhost上使Facebook的图形API工作?

标题可能暗示它,但我正在寻找一种方法让Facebook图形API在我的localhost上工作.如果我每次要测试时都需要将项目同步到服务器,那将是一件痛苦的事情,因为图形仅在在线时有效.

有没有人对这个问题有任何建议?

facebook localhost facebook-graph-api

13
推荐指数
1
解决办法
2万
查看次数

使用Google Maps API的可点击国家/地区

我刚刚开始涉足谷歌地图API,但我已经陷入困境.我正在寻找一种方法来使用谷歌地图重新创建这种类型的地图.我需要删除所有标签,获得一个空白背景(我尝试使用地图样式,但这对我不起作用,下面的代码示例)并在我将鼠标悬停在它们上时点亮这些国家/地区.

在我的搜索中是否有任何我可能错过的教程可以帮助我,或者任何人都可以指出我正确的方向?:)

var _mapstyle = [
  {
    featureType: "all",
    elementType: "labels",
    stylers: [
      { visibility: "off" }
    ]
  }
];

function create_map()
{
    _map = new google.maps.Map(document.getElementById("eyewebz-map"), 
    {
        zoom: 2,
        center: new google.maps.LatLng(20, 0), 
        navigationControl: true,
        navigationControlOptions: {
            style: google.maps.NavigationControlStyle.DEFAULT
        },
        mapTypeControl: true,
        mapTypeControlOptions: {
            style: google.maps.MapTypeControlStyle.DROPDOWN_MENU
        },
        scaleControl: true, 
        mapTypeIds: ['_mapstyle']
    });

    _display.setMap(_map);
    _display.setPanel(document.getElementById("NavigationText"));
}
Run Code Online (Sandbox Code Playgroud)

编辑 这是地图将用于:我已经走了一段时间,并期望做更多的事情.自从我第一次出访以来,我一直在博客上.我现在已经开发了一个新的博客,我想让我可以点击的国家/地区点击后点击一个网址.理想的情况是,当我点击某个国家/地区时,会将我带到一个页面,其中只有该特定国家/地区会显示在带有某些标记的地图中(访问的地点).单击这些标记后,它应显示特定的帖子/某些信息.

google-maps google-maps-api-3

11
推荐指数
1
解决办法
8084
查看次数

如何在wordpress插件中包含$ wpdb?

我一直在开发一个在一段时间pluginwordpress,但有一个问题一直缠着我.我想将数据库表导出为ex​​cel文件,因此我需要$wpdb->variable从插件目录中的文件访问全局.

我发现了一个博客条目,解释了我应该包含哪些类,但这不起作用(链接如下).正如你所看到的,我做了一个var_dump,但它永远不会达到这一点.如果我离开代码的包含wp-config和转wp-load出,转储returns NULL,所以我猜测导入存在问题.

无论如何,我希望有人可以帮我解决这个问题.我不一定需要修复我的方法,我只需要一种方法将数据数组(从我的数据库中提取)导出到wordpress中的excel.任何帮助,将不胜感激.提前致谢.

http://www.notesbit.com/index.php/web-mysql/web-scripts/standalone-access-the-wordpress-database-using-wpdb/

include_once('../../../wp-config.php');
include_once('../../../wp-load.php');
include_once('../../../wp-includes/wp-db.php');

var_dump($wpdb);
$filter = get_where_clause();
$order = get_order_by_clause();

$data = $wpdb->get_results("SELECT * FROM " . $table_prefix . "team_data" . $filter . $order, ARRAY_A);

$result = array();
Run Code Online (Sandbox Code Playgroud)

编辑: 我不能包括wp-config,它给出了不断的错误.我知道bug发生在哪里,我只需要找到解决方法.在查看wp-settings页面(包含在wp-config中)时,您会发现以下代码行:

foreach ( wp_get_active_and_valid_plugins() as $plugin )
    include_once( $plugin );
unset( $plugin );
Run Code Online (Sandbox Code Playgroud)

这是有bug的地方.我只是不知道我应该如何解决这个bug.

编辑2: 问题解决了.当包括文件时,我wp-config不止一次(尽管我说它应该只包括一次).我使用以下代码解决了这个问题.

global $wpdb, $table_prefix;

if(!isset($wpdb))
{
    require_once('../../../../wp-config.php');
    require_once('../../../../wp-includes/wp-db.php');
}
Run Code Online (Sandbox Code Playgroud)

php wordpress plugins

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

PHP正则表达式(phonenumber)

我在使用电话号码的正则表达式时遇到了一些麻烦.我正在尝试为欧洲电话号码创建一个尽可能广泛的正则表达式.电话号码可以以+或两个前导0开头,然后是0到40之间的数字.但是,这不是必需的,因此第一部分也可以忽略.在那之后,它应该都是数字,分组成至少两个,在组之间有空格或 - .

我放在一起的正则表达式可以在下面找到.

/((\+|00)+[0-4]+[0-9]+)?([ -]?[0-9]{2,15}){1,5}/
Run Code Online (Sandbox Code Playgroud)

这应该与以下结构相匹配

0031 34-56-78
0032123456789
0033 123 456 789
0034-123-456-789

+35 34-56-78
+36123456789
+37 123 456 789
+38-123-456-789
...
Run Code Online (Sandbox Code Playgroud)

它根据我的javascript也匹配

+32 a54b 67-0:
Run Code Online (Sandbox Code Playgroud)

所以我一定是在某个地方弄错了,但我真的看不到它.任何帮助,将不胜感激.

javascript php regex

6
推荐指数
1
解决办法
1582
查看次数

Javascript .innerHTML 重置我的 <input type="file">

我有一个关于 javascript 中多个文件上传的问题。我正在尝试通过动态添加输入来创建自己的多个文件上传。这一切都很简单,但问题是每当我添加一个新的 时,我以前的“文件”类型的输入字段就会重置。

如果我删除更改父 div 的 innerHTML 的最后几行代码,则 my 的值不会重置。有谁知道这个问题如何解决?JavaScript 代码可以在下面找到。提前致谢。

if(document.getElementById("upload_queue").innerHTML.indexOf(_item) == -1)
{
    var _row = "<tr id='queue_row_" + items_in_queue + "'>";
    _row += "<td>";
    _row += "<div class='remove_uploaded_image' onclick='remove_from_queue(" + items_in_queue + ")'></div>";
    _row += "</td>";
    _row += "<td>";
    _row += _item;
    _row += "</td>";
    _row += "</tr>";

    document.getElementById("upload_queue").innerHTML += _row;
    document.getElementById("upload_image_" + items_in_queue).style.display = "none";

    items_in_queue++;

    document.getElementById("uploader_holder").innerHTML += 
        '<input id="upload_image_' + items_in_queue + 
        '" name="upload_image_' + items_in_queue + '" accept="image/jpeg" type="file"' + 
        'onchange="add_to_upload_queue()" style="display: inline;" …
Run Code Online (Sandbox Code Playgroud)

javascript file-upload

4
推荐指数
1
解决办法
3575
查看次数

使用属性而不是公共变量是否有任何优势?

这可能是一个非常愚蠢的问题,但无论如何我都要问它.我大约一个月毕业,在学习期间,我一直被教导使用属性而不是公共变量.

所以我开始想知道优势是什么,我必须说,在某些情况下,我根本没有任何线索.当然,在设置属性或获取属性时需要执行其他逻辑时很方便,但在获取/设置变量时使用属性是否有任何优势?我的意思的一个例子如下所示(As3).

private var _myVariable:SomeClass;

public function get myVariable():SomeClass{
    return _myVariable;
}

public function set myVariable(value:SomeClass):void{
    _myVariable = value;
}
Run Code Online (Sandbox Code Playgroud)

所以,重复并澄清一下我的问题:像这样编程我的getter/setter是否有任何优势,或者我可以将变量更改为public并删除getter/setter?

field properties accessor actionscript-3

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

Wordpress:如何获取网站的网址

我想要一个获取网站 url 的函数。与此类似:<?php bloginfo('template_directory') ?>而是将我带到网站的 URL,因此我可以使用它来将我的主页链接到主页按钮。

如果有更好的方法来链接主页按钮,请告诉我。

瑞安

wordpress

1
推荐指数
2
解决办法
1万
查看次数