내가 만드는 모든 맞춤 위젯에서 모바일 위젯 및 데스크톱 위젯을위한 수단을 제공하고 있으므로 백엔드 위젯 영역의 제목에 위젯이 모바일/데스크톱인지를 나타내는 것이 좋습니다 이 섹션을 더욱 사용자에게 익숙하게 만드는 데 도움이됩니다.관리자 영역에서 Wordpress 위젯의 제목 표시 줄을 편집하는 방법은 없습니까?
위젯의 제목 표시 줄 (위젯 제목 왼쪽)에 이미지를로드하고 모바일/데스크톱 아이콘을 포함하여 활성화 된 위젯이 데스크톱인지 식별 할 수 있도록하는 필터가 있습니까? 어떤 위젯이 모바일인지, 위젯을 열지 않아도 옵션을 볼 수 있습니까?
백엔드 관리자 widgets.php
페이지에서만 이것을 캡처하기 위해 wordpress 어딘가에 고리가 있습니까? 페이지가로드 될 때 PHP 훅을 사용하고 싶습니다. 옵션이 모바일에서 데스크톱으로 또는 그 반대로 변경 될 때 jQuery를 이미 사용하고 있습니다. 이 작업을 수행해야하는 위젯 페이지의 초기로드입니다.
가능합니까?
아래 예는 가능한 경우 초기 widgets.php 페이지에서 수행 할 수 있으며 확장 된 WP_Widgets 클래스 파일에서 쉽게로드 할 수 있습니까?
이function __construct() {
parent::__construct(
'social_media_widget',
__('Social Media Widget', 'mydomain')
);
add_filter('dynamic_sidebar_params', array($this, 'my_sidebar_params'), 10, 1);
}
function my_sidebar_params($params) {
$sidebar_id = $params[0]['id'];
if (is_admin() && $params[0]['widget_name'] == 'Social Media Widget')
{
$_widget = get_option('widget_social_media_widget');
if (!empty($_widget) && isset($_widget[$params[1]['number']]))
{
// $platform is being set in here as "desktop" because if I do a var_dump, it gives me "desktop", however, the image is not showing in the titlebar using before_title below... why?
$platform = isset($_widget[$params[1]['number']]['platform']) ? $_widget[$params[1]['number']]['platform'] : '';
}
if (!empty($platform))
{
$params[0]['before_title'] = '<img src="' . get_stylesheet_directory_uri() . '/img/' . $platform . '-icon.png" alt="' . $platform . ' menu" class="menu-icon ' . $platform . '-icon" />';
}
}
return $params;
}
그래서, $ 플랫폼은 다음과 같습니다 또는 필터, 행동은 ...
그래서, 나는 WP_Widget를 확장 Widget 클래스 내부에 다음과 같이 다음을 수행하려고했습니다 등 이제는 올바른 값이지만 이미지가 관리자 위젯 영역의 제목 표시 줄에 제목 앞에 붙어 있지 않으므로 표시되지 않는 이유를 모르겠습니다 ... $params[0]['before_title']
이미지가 표시되지만 표시되지는 않습니다. 바른 장소. 가능한 경우 위젯 제목의 <h3>
태그 내에 표시 할 이미지가 필요합니다. 어떤 아이디어? 당신은 WP 코드를 스누핑 경우
감사의'$ 예 [ '플랫폼']에 따라 다른 이미지가있다 '값, 그래서 난 그냥 다음과 같은 echo'd :'' ''div 안에,'$ params'에 적용하는 대신 echo의 위치가 위젯 바로 앞에 있으므로 jQuery를 사용하면 div 요소의 html을 가져 와서 widget_title에 넣는 것보다'$ (this) .remove()'를 제거하는 것보다 더 효율적이다. 끝마친. 감사 :) –